如何在JavaScript中限制追加字符串?

如何在JavaScript中限制追加字符串?,javascript,button,append,Javascript,Button,Append,在deleteonclick事件上调用JavaScript函数,将在单击OK时返回确认按钮消息Yes 问题是,当第二次单击时,它将附加下一个字符串 例如:Yes,Yes JavaScript function Confirm() { var confirm_value confirm_value = document.createElement("INPUT"); confirm_value.type = "hidden"; confirm_value.nam

在delete
onclick
事件上调用JavaScript函数,将在单击
OK
时返回确认按钮消息
Yes

问题是,当第二次单击时,它将附加下一个字符串

例如:
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
事件

问题


如何将追加限制为该值?

最好的方法是设置一个布尔标志,在第一次设置值后,该标志将被设置为
true

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

只需给元素一个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";
}

你能创建一个快速片段吗?因为我不理解你的问题,所以会更容易;)Thxy您应该首先检查输入是否已经存在,以及是否只是编辑值而不是添加新元素。抱歉@R.Foubert for没有明确说明。我使用
onclick
event在delete上调用JavaScript函数。当我单击“删除后代码”按钮时,它会显示确认框消息,当我单击“确定”时,它会像往常一样返回
Yes
。但第二次单击Ok时,它会追加字符串,例如:
Yes,Yes
。我的问题是如何限制附加它?但为什么需要innput字段?“是”是什么意思?你到底想删除什么?您应该提供一个片段;)答案对你有帮助吗?我相信最后的编辑回答了你的问题@R.Foubert。我希望如此。