Javascript 输入=提交在确认对话框之前提交
HTML: 然后我跟着提琴走了Javascript 输入=提交在确认对话框之前提交,javascript,forms,Javascript,Forms,HTML: 然后我跟着提琴走了 但是表单是在确认应答之前提交的。确认是异步的,因此提交处理程序不会阻止并立即返回,从而导致提交 您可以使用e.preventDefault()停止提交,然后使用submit功能手动触发提交。但是,您需要保留一个标志来检查您是否已确认,这样您就不会取消并再次询问,或者如果提交已确认,您可以删除提交处理程序。我通常在表单中使用onclick属性,而不是控制台所说的“HTMLInputElement.onclick” function userSubmit(e){ va
但是表单是在确认应答之前提交的。确认是异步的,因此提交处理程序不会阻止并立即返回,从而导致提交
您可以使用
e.preventDefault()
停止提交,然后使用submit
功能手动触发提交。但是,您需要保留一个标志来检查您是否已确认,这样您就不会取消并再次询问,或者如果提交已确认,您可以删除提交处理程序。我通常在表单中使用onclick属性,而不是控制台所说的“HTMLInputElement.onclick”
function userSubmit(e){
var question = "Do you want to start a war?";
confirmation(question).then(function (answer) {
console.log(answer);
var ansbool = (String(answer) == "true");
if(ansbool){
alert("this is obviously " + ansbool);//TRUE
} else {
alert("and then there is " + ansbool);//FALSE
}
});
}
使用内联事件侦听器被广泛认为是不好的做法。
$("#trigger").submit(function (e) {
userSubmit(e);
});
function userSubmit(e){
var question = "Do you want to start a war?";
confirmation(question).then(function (answer) {
console.log(answer);
var ansbool = (String(answer) == "true");
if(ansbool){
alert("this is obviously " + ansbool);//TRUE
} else {
alert("and then there is " + ansbool);//FALSE
}
});
}
<input type="submit" onclick="myFunction()" />