2012-07-19 12 views
6

普通のボタンをクリックしたときにフォーム検証を呼び出そうとしています。これはjQueryでうまくいくようですが、普通のjavascriptではうまくいかないようです。 誰でもjqueryの.submit()とjavascriptの.submit()メソッドの違いを説明できますか?または私は何を間違っているのですか?Jquery submit to javascript 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

DOM submit()方法は、イベントを提出トリガーされません。 jQueryはそうです。

+0

説明ありがとうございました。したがって、上記のスクリプトは 'if(validateForm(document.forms.loginform))document.forms.loginform.submit();' – Stano

+0

に正しく拡張する必要があります。 @chiliNUT - フォーム提出、はい。フォーム提出を起動します。 – chiliNUT

+2

@chiliNUT - フォーム提出、はい。フォーム提出イベント、いいえ。 – Quentin