のチュートリアル次の検証を設定しています
:私は削除すると
<form method="POST" action="formproc_to_paypal.php" id="example"
target="_self" onsubmit="CalcAmount (this); ReadForm(this);" name="example">
は/アクションラインを変更(として「」へチュートリアルが示すように)検証はうまく動作します。なぜアクションがそれを検証しない原因になるのか?この
function validate(form){
return(CalcAmount (form) && ReadForm(form));
}
よう
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<style type="text/css">
label { width: 10em; float: left; }
label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
p { clear: both; }
.submit { margin-left: 12em; }
em { font-weight: bold; padding-right: 1em; vertical-align: top; }
</style>
<script>
$(document).ready(function(){
$("#example").validate();
});
</script>
検証ロジックのような詳細を投稿できますか?最初の推測では、送信時に2つの検証関数を呼び出しています。最初の検証関数が2番目の検証関数をスキップします。しかし、詳細なしで言うのは難しいです... –
マイク、あなたは正しいかもしれません。私のPHPスクリプトでも同様の機能があり、PHPスクリプトはフォーム変数を呼び出し、それらをPayPalに転送します。これが妥当性確認を妨害するでしょうか? –
私はマイクが正しいと思います。明示的に定義されたonsubmitイベントは、jQuery経由で呼び出されたvalidate()関数を破っている可能性があります。それらを取り出して何が起こるかを見てみましょうか?また、チュートリアルにはライブフォームではないため、アクション属性はありません。 "チュートリアル"は実際の実装の良い例ではないので、残りのドキュメントを読んでください。 –