2012-07-19 15 views
6

मैं सामान्य बटन पर क्लिक करते समय एक फॉर्म सत्यापन का आह्वान करने का प्रयास कर रहा हूं। यह jQuery के साथ अच्छा काम करता प्रतीत होता है, लेकिन सादा जावास्क्रिप्ट के साथ नहीं। क्या कोई भी jquery's .submit() और जावास्क्रिप्ट की .submit() विधियों के बीच इस अंतर को समझा सकता है? या मैं गलत क्या कर रहा हूँ?Jquery submit बनाम जावास्क्रिप्ट सबमिट

<html> 
<head> 
<title>Form Submit</title> 
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 

<script type="text/javascript"> 
function validateForm(form) { 
    if (form.username.value=='') { 
    alert('Username missing'); 
    return false; 
    } 
    return true; 
} 
</script> 

</head> 

<body> 

<form action="index.php" name="loginform" method="post" onsubmit="return validateForm(this);"> 
    <input name="username" placeholder="username" required="required" type="text" /> 
    <input name="send1" type="button" value="Login1" onclick="$(document.forms.loginform).submit();" /> 
    <input name="send2" type="button" value="Login2" onclick="document.forms.loginform.submit();" /> 
    <input name="send3" type="submit" value="Login3" /> 
    <a href="" onclick="event.preventDefault(); $(document.forms.loginform).submit();"> Login4 </a> 
    <a href="" onclick="event.preventDefault(); document.forms.loginform.submit();"> Login5 </a> 
</form> 

</body> 
</html> 

onsubmit results

उत्तर

14

डोम submit() विधि घटनाओं प्रस्तुत ट्रिगर नहीं करता। jQuery करता है।

+0

ठीक है, स्पष्टीकरण के लिए धन्यवाद। तो ऊपर दी गई स्क्रिप्ट को सही ढंग से 'if (validateForm (document.forms.loginform)) document.forms.loginform.submit(); ' – Stano

+0

पर सही ढंग से बढ़ाया जाना चाहिए। यह अब मामला नहीं है। 'document.formName.submit()' (या 'document.querySelector ('form [name =" formName "]') सबमिट करें()') वास्तव में फॉर्म प्रपत्र – chiliNUT

+2

@chiliNUT - फॉर्म सबमिशन, हां ट्रिगर करेगा। प्रपत्र सबमिट घटना, नहीं। – Quentin

संबंधित मुद्दे