2009-03-10 18 views

Antwort

12

nur eine Vereinfachung der Pims (herausgegeben James Beitrag zu ziehen):


$('#form').submit(formValidated); 
0

Anstatt die Funktion submit direkt aufzurufen, rufen Sie eine intermediäre Funktion auf und führen Sie dort einen Check-in durch.

dh

var isSubmitable = false; 

function submitForm() { 
    if(isSubmitable) { 
     myform.submit(); 
    } 
} 
5

Wie wäre die Prüfung innerhalb des einreichen Methode tun:

$('#form').submit (function() { 
if(formValidated()) 
    return true; 
return false; 
}); 
+0

Er, einfach und Arbeits :) –

+1

Nur eine Nachricht, die Sie wahrscheinlich schon wussten: Vergessen Sie nicht, auch Ihre Validierungen auf der Server-Seite zu machen, weil JavaScript deaktiviert wird, wird dies umgehen. – lpfavreau

0

Eine andere mögliche Lösung.

$ ('# Form') Änderung (function() { (isValid ($ ('# form'))? $ ('# SubmitBtn') .attr ('deaktiviert', falsch): $ ('# submitBtn'). Attr ('deaktiviert', true) }) ;

Natürlich überprüft isValid(), ob alle Ihre $ ('# form') - Elemente Ihren Validierungsregeln entsprechen. So würde ich es machen.

7

ich folgendes haben, die (Submit-Button deaktivieren und bilden abschicken) gearbeitet:

var condition = true; //check whatever you like 
if(condition) 
    $('input[type=submit]', this).attr('disabled', 'disabled'); 
    $('form').bind('submit',function(e){e.preventDefault();}); 
}else{ 
    $('input[type=submit]', this).removeAttr('disabled', 'disabled'); 
    $('form').unbind('submit'); 
} 
1

Nur eine Vereinfachung der Original Antwort Nick:

$('#form').submit(formValidated); 
Verwandte Themen