簡體   English   中英

刪除不要求確認

[英]Delete does not ask for confirmation

單擊“刪除”按鈕時,如果所選節點具有子節點,則將彈出確認框。 否則,它什么也不做。

現在,當我單擊刪除時,它只是刪除而沒有確認。

這是代碼:

  <asp:Button ID="btn_delete" runat="server" Height="32px" 
        onclick="btn_delete_Click"  OnClientClick = "return childnode();"                              
        Text="Delete" Visible="False"  />  

    <script type="text/javascript">
        function childnode() {
            var treeViewData = window["<%=nav_tree_items.ClientID%>" + "_Data"];

            var selectedNode = document.getElementById(treeViewData.selectedNodeID.value);
            if (selectedNode.childNodes.length > 0) {
                return confirm("heloo");
            }
            return false;
        }                                        
    </script>

如果在某些情況下不希望按下按鈕,則需要從函數返回false 當前,僅在調用confirm時從函數返回值。

如果一個或兩個if條件均失敗,則如果您不希望事件冒泡激活按鈕/發送表單,則添加return false


修改現有代碼

function childnode() {
    var treeViewData = window["<%=nav_tree_items.ClientID%>" + "_Data"];
    if (treeViewData.selectedNodeID.value != "") {
        var selectedNode = document.getElementById(treeViewData.selectedNodeID.value);
        if (selectedNode.childNodes.length > 0) {
            return confirm("heloo");
        }   

        return false; // don't send form                                             
    }

    return false; // don't send form
}  

它仍然有故障嗎?

  1. 確保函數內部的邏輯是正確的,當嘗試獲取未定義變量的屬性時,網絡瀏覽器通常會靜默失敗。

  2. 在按鈕定義中,您編寫了OnClientClick = "return childnode();" ,請嘗試將其更改為OnClientClick="return childnode();" 看看是否可以解決問題。

  3. 查看事件是否完全觸發, OnClientClick="alert(123);"

您的函數並沒有全部return 可能您的功能存在而未確認。 查看您的邏輯,並確定如果您的if語句之一未通過,您想做什么。

更改此:

onclick="btn_delete_Click"  OnClientClick = "return childnode();"

對此:

onclick="btn_delete_Click;return childnode();"

暫無
暫無

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

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