2016-07-15 10 views
0

Hier ist der Beispielcode..wenn ich das Skript auskommentieren wird es serverseitige Funktion auf Knopf klicken aufrufen. Was wird der Fehler im folgenden Code sein?onclick funktionierte nicht wie erwartet mit jquery

<form id="form1" runat="server">  
    <input type="checkbox" id="chb1" value="Hourly" /> 
    <input type="checkbox" id="chb2" value="Daily" /> 
    <input type="checkbox" id="chb3" value="Weekly" /> 
    <input type="checkbox" id="chb4" value="Monthly" /> 
    <input type="checkbox" id="chb5" value="Yearly" /> 

    <asp:Button Text="submit" runat="server" ID="btnSubmit" OnClick="btnSubmit_Click"/> 
</form> 
<div></div> 

<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
<script type="text/javascript"> 

     var selectedcout = 0; 

     var countChecked = function() { 
      var n = $("input:checked").length;     
      $("div").text(n + (n === 1 ? "is" : "are") + "checked"); 
     }; 
     countChecked(); 

     $("input[type=checkbox]").on("click", countChecked); 

</script> 
+1

@ARUN OP ist die JS läuft, nachdem das DOM erstellt wird, so dass sie nicht über eine DOM bereit Handler –

+0

Rory McCrossan brauchen Okay, mir neu –

+0

Antwort

0

Sie müssen das submit-Ereignis des Formulars, Haken, nicht die click der Submit-Button, so dass Sie das Formular stoppen können von vorgelegt. Versuchen Sie folgendes:

var selectedcout = 0; 

var countChecked = function() {   
    var n = $("input:checked").length;     
    $("div").text(n + (n === 1 ? " is " : " are ") + "checked"); 
}; 

countChecked(); 

$('#form1').on('submit', function(e) { 
    e.preventDefault(); // stop the form submitting 
    countChecked(); 
}); 
+0

funktioniert nicht ,, Kontrolle kommt nicht zur Backend-Funktion auf Knopf klicken –

+0

Nun, nein, würde es nicht. Sie können nur das eine oder das andere haben. Sie können entweder die Benutzeroberfläche aktualisieren und das Formular anhalten oder das Formular senden. Anschließend können Sie die Benutzeroberfläche nicht aktualisieren. Wenn Sie beide möchten, müssen Sie AJAX verwenden. –

+0

ok, ich werde versuchen..danke für info .. –

Verwandte Themen