Jquery: submit muss immer zweimal geclickt werden

Hallo,
ich lade auf einer Seite per $.get() ein Formular auf ein Click-Event hin nach. Das Formular wird bei submit über das Validation-Plugin (http://docs.jquery.com/Plugins/Validation) geprüft.

Wenn die Eingabe korrekt ist, soll die Validate-Funktion das Formular per POST an den Server schicken.

Die Validate-Funktion wird innnerhalb der Callback-Funktion von $.get() aufgerufen.

Wenn alle Eingaben korrekt sind muss man dummerweise immer zweimal den Submit Button clicken. Hat da einer eine Idee wie man das umgehen kann?

Hier die Funktion:

$(document).ready(function(){  
 $("#tblItems").delegate("td","click",function(){  
  
 var itemID = { id: $(this).parent().children(":first-child").text() } //id of clicked item  
 var nodePoint = $("#details");  
 var url = 'scripts/php/tblDetails.php';  
  
 var batch = function(reply){  
 $(".tblDetails").remove();  
 nodePoint.append(reply);  
  
 $("#frmDetails").submit(function(e){  
 e.preventDefault();  
 $(this).validate({  
 submitHandler: function(){  
 var form = $("#frmDetails");  
 var url = form.attr("action");  
 var formData = form.serialize();  
  
 $.post(url,formData,'html');   
 },  
 rules: {  
 name: "required",  
 ek: {  
 required: true,  
 number: true  
 },  
 vk: {  
 required: true,  
 number: true  
 },  
 mwst: {  
 required: true,  
 number: true  
 },  
 menge: {  
 required: true,  
 number: true  
 }  
 }  
 });  
 });   
 }   
 $.get(url,itemID,batch,'html');  
  
 });   
});  

kann es daran liegen, dass du die funktion einmal als post und dann noch mal als get aufrufst?

Was sagt denn der Debugger oder console.log, bis wohin ausgeführt wird?

Das submit() innerhalb vom get() sieht aus wie von hinten durchs Knie, aber geht wahrscheinlich nicht anders.

Das Problem war das ich die Validierung erst auf ein submit-Event hin eingebaut habe. Die Funktion .validate() warte an sich schon ein submit-Event ab und so müssen erst zwei submit-Events ausgelöst werden, bevor der Input tatsächlich validiert wird.

Danke euch für eure Beteiligung.

Friendly

kann es daran liegen, dass du die funktion einmal als post und
dann noch mal als get aufrufst?

Hallo!

Sorry für die späte Antwort, aber ich kann leider auch nicht helfen, sieht eigentlich alles gut aus. Vielleicht ist das Problem ja auch schon behoben :smile:

Das einzige was ich sagen kann ist, dass delegate() deprecated ist, also veraltet. Schau dir mal on() an :smile: