Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 JS确认和提交不起作用_Javascript_Html - Fatal编程技术网

Javascript JS确认和提交不起作用

Javascript JS确认和提交不起作用,javascript,html,Javascript,Html,这是我的JS: function confirmPurchase(){ var answer = confirm('Are you sure you want to purchase the ticket?'); return answer; } function init(){ purchaseForm.onsubmit = confirmPurchase; } 但当我在alertbox上单击“取消”时,它仍在提交表单。如何在“取消”时停止表单提交,并仅在单

这是我的JS:

function confirmPurchase(){
    var answer = confirm('Are you sure you want to purchase the ticket?');
    return answer;
}

function init(){
    purchaseForm.onsubmit = confirmPurchase;    
}

但当我在alertbox上单击“取消”时,它仍在提交表单。如何在“取消”时停止表单提交,并仅在单击“确定”时才允许提交?

尝试以下操作:

var form = document.getElementById('myForm'),
    confirmPurchasePrompt = function(e) {
        var answer = confirm('Are you sure you want to purchase the ticket?');

        if (!answer) {
            e.preventDefault();
        }
    };


form.addEventListener('submit', confirmPurchasePrompt, true);
此处演示:

请注意,这只适用于现代浏览器(IE>8),但这是一般的想法。我相信你可以通过一些研究使它与旧版本兼容

实际上,这可能会有所帮助:

或者这个:

除夕之夜:

首先查看表单

<form action="/" id="myform">
    <input type="submit">
</form>

工作演示:

请添加一个小提琴,包括使用jQuery的表单标记etcAre?这是您正在寻找的吗?这就是确切的代码吗?除了您演示了如何声明
purchaseForm
之外,它与OPs代码有何不同?
function confirmPurchase(){
    var answer = confirm('Are you sure you want to purchase the ticket?');
    return answer;
}

function init(){
    var purchaseForm = document.getElementById('myform');
    purchaseForm.onsubmit = confirmPurchase;    
}

init();