SO 何らかの理由で、ボタンを 1 回押すだけでフォームが 2 回送信されます。jquery Formプラグインを使用するのはこれが初めてで、jqueryが一度送信され、フォームも「自然に」送信されると思います。解決策は、フォームの onSubmit イベント ハンドラに「return false」を追加することです。私はそれをやっていると思っていましたが、明らかに機能していません。
誰でも助けることができますか?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>User form entry </title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="jquery.validate.js"></script>
<script src="jquery.passwordStrength.js"></script>
<script src="jquery.form.js"></script>
<script>
$(document).ready(function() {
$('#signupForm').ajaxForm(function() {
var queryString = $('#signupForm').formSerialize();
$.post('process.php', queryString);
});
});
</script>
</head>
<body>
<form id="signupForm" action="process.php" onsubmit="return false" method="post">
<fieldset class="password">
... form goes here
<button type="submit" name="formSubmit" value="submit">Click to submit</button>
</form>
<div id="results"></div>
</body>
</html>
フォーム要素に onsubmit="return false" を追加しようとしましたが、送信がまったくありません。「return false;」も追加してみました。jQuery に追加しますが、それでも二重提出があります。私は何が欠けていますか?これは、jQuery Form Plugin サイトによると標準的な方法論のようです..私のフォームはどう違うのですか?
(ちなみに、念のために言っておきます。ボタンを繰り返し押して複数のフォームが連続して送信されるという問題について話しているのではありません。私の問題は「送信ボタンを 1 回押す = 送信 2 回」です。)