0

html:

<input id="save "type="submit" value="Create" class="btn btn-primary"/>

onclickを登録するjavascript(IsValidは送信前に検証する関数であり、falseの場合はtrueを返します)

$('#save').click(function () {  
 return IsValid();
});

私が次のように書いた場合、これとまったく同じコードが機能することに注意してください。

 <input id="save "type="submit" value="Create" class="btn btn-primary" onclick='javascript: IsValid();'/>

これは、マークアップを変更しない別のオプションです(createFormはフォームです)

$('#createForm').submit(function () {   
 return IsValid();
});

$('')。clickがイベントハンドラーを登録しないのはなぜですか?

フォームは次のようになります。

 <form method="post" id="createForm" class="well" action="/ScheduleWorkDay/Create" novalidate="novalidate">
4

3 に答える 3

0

フォームにIDを持つハンドラーがないため、イベントハンドラーは登録されていませんsaveが、save(スペース付きの)があります。スペースを削除します。

<input id="save" type="submit" value="Create" class="btn btn-primary"/>

$('#save').click(function () {  
   return IsValid();
});

問題なく動作するはずです。

それが機能していることを示すjsFiddle

于 2012-08-31T17:41:50.727 に答える
0

IDにスペースが含まれているか、document.ready()を使用していない可能性があります

これが作業デモです

<input id="save" type="submit" value="Create" class="btn btn-primary"/>
$(document).ready(function(){
$('#save').click(function () {  
 alert("invalid");
 });
});

デモ

于 2012-08-31T17:45:53.440 に答える
0

MrOBrianは正しかった。問題はそれでした

 <input id="save " 

ID名に余分なスペースがありました。ありがとう!

于 2012-08-31T18:07:11.667 に答える