0
私はこのコードを持っています。フォームを複数回送信するのを止めるためにいくつかのことを試みましたが、何も機能しませんでした。どんな提案も大歓迎です!2回以上フォームを送信しないでください
document.getElementById("submit-order-button").addEventListener('click', function(event) {
var formValid = Object.keys(that.state).map(function(elem){
if(that.state[elem] === "") {
return false
} else {
return true
}
})
var emailValid;
if (that.state.email.indexOf("@") > -1 && that.state.email.indexOf(".") > -1) {
emailValid = true;
} else {
emailValid = false;
}
if (!emailValid || formValid.indexOf(false) > -1) {
$("#validation-text").show()
$("html, body").animate({ scrollTop: 0 }, "slow");
} else {
}
}, false);
私は残念なことに幸運にもそれを試みました。私が間違っている場合は私を訂正しますが、私の理解は、event.preventDefault()は、 'submit'イベントの場合はフォームを停止し、コードは 'click'イベントの場合のみです。 – Ruth
最近、 FFとChromiumではまた、ハンドラの中で次のように定義することもできます: 'document.forms [0] .onsubmit = function(){return false; }; ' (ここでは' this'は不適切です) フォーム内のボタンのデフォルト動作を防ぐために、 'type =" button "' 'をボタンタグに追加することもできます。 – xqoo0ooq