簡體   English   中英

單擊確認對話框的“取消”按鈕時頁面重定向

[英]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";
 }
}

這是一個有效的小提琴https://jsfiddle.net/BoyWithSilverWings/p7knLr3m/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM