2016-07-27 37 views
3

調用JavaScript函數刪除OnclintClick事件將給我們確認按鈕消息返回Yes點擊時OK如何在JavaScript中限制追加字符串?

問題是,再次單擊時,它會追加下一個字符串。

例如:Yes, Yes

的JavaScript

function Confirm() { 

    var confirm_value 

    confirm_value = document.createElement("INPUT"); 
    confirm_value.type = "hidden"; 
    confirm_value.name = "confirm_value"; 

    if (confirm("Are you sure want to delete supplier?")) { 
     confirm_value.value = "Yes"; 
    } 

    else { 
     confirm_value.value = "No"; 
    } 

    document.forms[0].appendChild(confirm_value); 
} 

說明

JavaScript的確認方法存儲由用戶動態創建隱藏字段即提供的輸入如果OK被按下它將被存儲的值Yes,如果按下Cancel它將存儲No值,以便它可以將用戶輸入傳遞到服務器端代碼。

然後它將允許按鈕執行正常的回發並提高OnClick事件。

問題

怎麼可能追加被限制在這?

+1

能否請你創建一個快速片段?因爲我不明白你的問題,所以它會更容易;)thx –

+1

你應該首先檢查輸入是否已經存在,如果只是編輯值而不是添加新元素。 – Adjit

+0

對不起@ R.Foubert沒有說清楚。我使用'''OnclintClick'''事件在刪除時調用JavaScript函數。當我點擊刪除按鈕後面的代碼時,它會給我確認框消息,當我點擊確定時,它照常返回'''是'''。但是,第二次點擊確定後,它會追加字符串,例如:'是,是'''。我的問題是如何限制追加它? –

回答

2

只要給元素的ID,並檢查ID下一次

function Confirm() { 

    var id = "confirm_value", 
     confirm_value = document.getElementById("confirm_value"); 

    if (!confirm_value) { 
     confirm_value = document.createElement("input"); 
     confirm_value.type = "hidden"; 
     confirm_value.name = id; 
     confirm_value.id = id; 

     document.forms[0].appendChild(confirm_value); 
    } 

    confirm_value.value = confirm("Are you sure want to delete supplier?") ? "Yes" : "No"; 
} 
1

最好的辦法是設置一個布爾型標誌,在您第一次設置該值後將設置爲true

var yourBoolean = false; 
if (confirm("Are you sure want to delete supplier?")) { 
     yourBoolean = true; 
    if (yourBoolean === true) { 
     confirm_value.value = "Yes"; 
     } 
    }