单击"取消"页面重定向确认对话的按钮

时间:2016-10-13 10:00:29

标签: javascript html forms confirm

请查看代码段 -

<form action="post" onsubmit="return confirm('Are You Sure?')">
       <a id="saveBtn" class="btnClass">Save<a/>
</form>

当我点击&#39;保存&#39;然后点击&#34; 确定&#34;确认弹出窗口按钮提交表单。如果我点击&#34; 取消&#34;表格未提交,我离开了当前页面。是否可以点击&#34; 取消&#34;按钮然后页面重定向到其他页面?

3 个答案:

答案 0 :(得分:2)

您可能不应该使用onsubmit属性,请使用不显眼的事件侦听器方法以获得更好的可读性和可维护性。

这样的事情应该显示一般的想法,你可以用你自己的重定向链接更新它:

var submitLink = document.getElementById('saveBtn'),
    myForm = document.getElementById('myForm');

submitLink.addEventListener('click', function(e) {
    if (confirm('Are You Sure?')) {
        myForm.submit();
    } else {
        e.preventDefault();
        window.location = 'http://google.com'; // redirect to your own URL here
    }
});

这取决于具有id属性的表单和锚点:

<form action="post" id="myForm">
   <a href="#" id="saveBtn" class="btnClass">Save<a/>
</form>

答案 1 :(得分:-1)

是的,你可以因为确认会返回true / false你可以为错误结果编写其他行为,例如:

<form action="post" onsubmit="return confirm('Are You Sure?')? true:window.location.assign('http://www.w3schools.com')">
   <a id="saveBtn" class="btnClass">Save<a/>

答案 2 :(得分:-1)

您可以通过将状态等同为true或false来处理确认对话框。

function myFunction() {
 var r = confirm('Are You Sure?');
 if(r==true) 
 return true;
 else {
    event.preventDefault();
    window.location="http://example.com";
 }
}

这是一个工作小提琴 https://jsfiddle.net/BoyWithSilverWings/p7knLr3m/