私はjQueryが初めてです。私はこれで私のフォーム(MVC 1.0 / C#)で動作するように検証しました:
<script type="text/javascript">
if (document.forms.length > 0) { document.forms[0].id = "PageForm"; document.forms[0].name = "PageForm"; }
$(document).ready(function() {
$("#PageForm").validate({
rules: {
SigP: { required: true }
},
messages: {
SigP: "<font color='red'><b>A Sig Value is required. </b></font>"
}
});
});
</script>
また、送信ボタンを非表示にして、コントローラーが完了してリダイレクトする前にマウスのけいれん症候群が重複エントリを引き起こすのを防ぎたいと考えています (私は GPR パターンを使用しています)。以下は、この目的のために機能します。
<script type="text/javascript">
//
// prevent double-click on submit
//
jQuery('input[type=submit]').click(function() {
if (jQuery.data(this, 'clicked')) {
return false;
}
else {
jQuery.data(this, 'clicked', true);
return true;
}
});
</script>
ただし、2つを連携させることはできません。具体的には、[送信] ボタンがクリックされた後に検証が失敗した場合 (フォームがどのように機能するかによって発生します)、「クリックされた」プロパティをリセットするブラウザーの更新を行わない限り、フォームを再度送信することはできません。
上記の 2 番目のメソッドを書き直して、フォームが検証されない限りクリックされたプロパティを設定しないようにするにはどうすればよいですか?
どうも。