まだ解決策を探していますが、まだ見つかりません。同じ/異なるページで異なるフォームを管理する機能があります
function formStantardAction(correctAnswer,addCustomData){
addCustomData = (typeof addCustomData == "undefined")?'':addCustomData;
correctAnswer = (typeof correctAnswer == "undefined")?'Saved.':correctAnswer;
$('form.standard').submit(function(event){
event.preventDefault();
var modalWin = $(this).parent();
var values = $('form.standard').serialize() + addCustomData;
$.ajax({
url: "inc/gateway.php",
data: values,
type: "POST",
success: function(data){
if (data == "OK"){
$(modalWin).html(correctAnswer).delay(500).fadeOut(500);
setTimeout(function() {
mw_close();
}, 1000);
}else{
alert(data);
}
}
});
});
}
SEND という名前の input type="button" を使用してページとフォームをロードした後
$('form.standard [name="SEND"]').click(function(){
var str = $('#sortableTo').serializelist();
formStantardAction('New train inserted.',str);
$('form.standard').submit();
});
すべての値は POST 経由で php ページに到達し、すべての処理 (検証、データベースへの挿入、ログの更新など) が行われ、すべてが OK の場合は「OK」と応答します (したがって、モーダル ウィンドウのフォームはカスタム メッセージに置き換えられ、フェード アウト) または... エラーが発生した場合、php は、モーダル ウィンドウをフォームで開いたままにしておく警告と共に js がポップアップするテキストで応答します。
それはすべて問題ありませんが、phpがエラーで応答した場合、SENDボタンを2回クリックすると、投稿が2回送信されます。そして、2回目の送信で別のエラーを起こし、もう一度送信ボタンをクリックすると、投稿値が3回送信されます...など.
私に何ができる?私のエラーはどこですか?
ありがとう。