Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入=提交在确认对话框之前提交_Javascript_Forms - Fatal编程技术网

Javascript 输入=提交在确认对话框之前提交

Javascript 输入=提交在确认对话框之前提交,javascript,forms,Javascript,Forms,HTML: 然后我跟着提琴走了 但是表单是在确认应答之前提交的。确认是异步的,因此提交处理程序不会阻止并立即返回,从而导致提交 您可以使用e.preventDefault()停止提交,然后使用submit功能手动触发提交。但是,您需要保留一个标志来检查您是否已确认,这样您就不会取消并再次询问,或者如果提交已确认,您可以删除提交处理程序。我通常在表单中使用onclick属性,而不是控制台所说的“HTMLInputElement.onclick” function userSubmit(e){ va

HTML:

然后我跟着提琴走了


但是表单是在确认应答之前提交的。

确认是异步的,因此提交处理程序不会阻止并立即返回,从而导致提交


您可以使用
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()" />