2016-07-08 11 views
0

Ich versuche, eine Schaltfläche in ASP.NET, die eine Ajax-Funktion aufrufen und eine andere ASP.NET zurück, mit einer Methode suchen in meiner Datenbank. Wenn ich auf die Schaltfläche klicke, wird die Ajax-Funktion nicht ausgelöst, tut nichts. Dieses Ajax nimmt etwas, das der Benutzer eingeben wird, wie eine Postleitzahl, und sucht in meiner Datenbank.Asp.net-Schaltfläche mit Ajax funktionieren nicht

var cepjs = $('#MainContent_cepBrasil').val(); 
 
     alert(cepjs); 
 
     $('#ButtonCEP').click(function() { 
 
      alert('cliquei'); 
 
      $.ajax({ 
 
       type: "POST", 
 
       url: "CEP.aspx/Consulta_CEP", 
 
       data: JSON.stringify({ scep: cepjs}), 
 
       contentType: "application/json; charset=utf-8", 
 
       dataType: "json", 
 
       success: function (result) { 
 
        $('#MainContent_cepBrasil') = result.CEEP.localCEP; 
 
        $('#MainContent_ufEnderecoBrasil') = result.CEEP.localUF; 
 
        $('#MainContent_codMunicipioEnderecoBrasil') = result.CEEP.localMunicipio; 
 
        $('#MainContent_tpLogradouro') = result.CEEP.localTpLog; 
 
        $('#MainContent_descLogradouroBrasil') = result.CEEP.localLogradouro; 
 
        $('#MainContent_complementoBrasil') = result.CEEP.localComplemento; 
 
        $('#MainContent_bairroBrasil') = result.CEEP.localBairro; 
 

 
       } 
 
      }); 
 
     });
<div class="form-group"> 
 
<!--<input  Type="button" ID="ButtonCEP" name="btnConsultar_CEP" Class="btn btn-primary btn-sm" value="Consultar" />--> 
 
<button id="ButtonCEP">Consultar</button> 
 
</div>

Ich habe es versuchen, alles in der Ajax zu tun, auch die click.function ändern, um auf ('Klick', function()), aber hat nicht funktioniert auch, und ich versuche, einige verschiedene Formen im Knopfstil zu verwenden, mit Knopf und Eingangstypknopf.

Jeder könnte mir helfen, ich werde es zu schätzen wissen. Dank

+0

Stellen Sie sicher, dass Sie diesen Code in '$ (function() {})' einschließen, damit er nach dem Laden von DOM ausgeführt wird. Andernfalls kann es passieren, dass Sie diesen Code ausführen, bevor der Button überhaupt auf der Seite – Andrei

+0

existiert. 1) Haben Sie Ihren Handler * nach * dem Button platziert? 2) Hast du es in "$ (document) .ready" verpackt? 3) Ist die ID der Schaltfläche in ** generiert ** HTML (im Browser) gleich "ButtonCEP"? –

+0

Ja, ich habe das schon getan. und versuchen Sie sogar, einen anderen Knopf zu benutzen, aber es funktionierte nicht –

Antwort

0

Sie haben zwei Fehler hier, Sie warten nicht einschließlich der jquery Quelldatei, und nicht für die doc

$(document).ready(function() { 
 
    console.log("ready!"); 
 
    var cepjs = $('#MainContent_cepBrasil').val(); 
 
    alert(cepjs); 
 
    $('#ButtonCEP').click(function() { 
 
      alert('cliquei'); 
 
      $.ajax({ 
 
       type: "POST", 
 
       url: "CEP.aspx/Consulta_CEP", 
 
       data: JSON.stringify({ scep: cepjs}), 
 
       contentType: "application/json; charset=utf-8", 
 
       dataType: "json", 
 
       success: function (result) { 
 
        $('#MainContent_cepBrasil') = result.CEEP.localCEP; 
 
        $('#MainContent_ufEnderecoBrasil') = result.CEEP.localUF; 
 
        $('#MainContent_codMunicipioEnderecoBrasil') = result.CEEP.localMunicipio; 
 
        $('#MainContent_tpLogradouro') = result.CEEP.localTpLog; 
 
        $('#MainContent_descLogradouroBrasil') = result.CEEP.localLogradouro; 
 
        $('#MainContent_complementoBrasil') = result.CEEP.localComplemento; 
 
        $('#MainContent_bairroBrasil') = result.CEEP.localBairro; 
 

 
       } 
 
      }); 
 
     }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 
<!--<input  Type="button" ID="ButtonCEP" name="btnConsultar_CEP" Class="btn btn-primary btn-sm" value="Consultar" />--> 
 
<button id="ButtonCEP">Consultar</button> 
 
</div>

+0

In meinem Code habe ich bereits den src Code zu ajax .google, Es wird nicht angezeigt, da es sich um einen großen Code handelt, und ich verwende bereits das $ (document) .ready –

0

Können Sie versuchen, die Funktion nach DOM Aufruf ist bereit, von

$ (document) .ready (function() {

//

});

0

Danke Jungs bereit zu sein, habe ich die Lösung habe Ich habe die .ready-Funktion in eine andere .ready-Funktion umbenannt, und das war das Problem, ich weiß einfach nicht warum, aber ich habe diese Funktion am Anfang des Codes weggelassen, und es funktioniert. Danke für die Hilfe.

Verwandte Themen