[英]Page redirect on clicking of “Cancel” button of a confirm dialogue
請查看代碼段-
<form action="post" onsubmit="return confirm('Are You Sure?')">
<a id="saveBtn" class="btnClass">Save<a/>
</form>
當我單擊“保存”,然后單擊“ 確定 ”按鈕以確認彈出窗口時,將表單提交。 如果我單擊“ 取消 ”,則不提交表單,並且我離開了當前頁面。 如果我單擊“ 取消 ”按鈕,然后頁面重定向到其他頁面,是否可以?
您可能不應該使用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>
是的,您可以這樣做,因為確認將返回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/>
您可以通過將狀態等同為true或false來處理確認對話框。
function myFunction() {
var r = confirm('Are You Sure?');
if(r==true)
return true;
else {
event.preventDefault();
window.location="http://example.com";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.