【问题标题】:How to restrict an append String in JavaScript?如何在 JavaScript 中限制附加字符串?
【发布时间】:2016-12-02 02:23:20
【问题描述】:

在删除 OnclintClick 事件上调用 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 Confirm 方法将用户提供的输入存储在一个动态创建的隐藏字段中,即如果按下 OK,它将存储值 Yes,如果按下 Cancel,它将存储 @987654329 @value,以便它可以将用户输入传递到服务器端代码。

然后它将允许按钮执行正常的 PostBack 并引发 OnClick 事件。

问题

追加怎么会被限制在这个范围内?

【问题讨论】:

  • 您能创建一个快速的 sn-p 吗?因为我不明白你的问题,所以会更容易;) thx
  • 您应该首先检查输入是否已经存在,是否只是编辑值而不是添加新元素。
  • 抱歉@R.Foubert 没有说清楚。我正在使用 OnclintClick 事件在删除时调用 JavaScript 函数。当我点击删除按钮后面的代码时,它给了我确认框消息,当我点击确定时,它像往常一样返回Yes。但是我第二次单击“确定”时,它会附加字符串,例如:Yes,Yes。我的问题是如何限制附加它?
  • 但是为什么需要输入字段呢? “是”是什么意思?你想删除什么?你真的应该提供一个 sn-p ;) 答案对你有帮助吗?
  • 我相信最后的编辑回答了你的问题@R.Foubert。我希望如此。

标签: javascript button append


【解决方案1】:

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

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

【讨论】:

    【解决方案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";
    }
    

    【讨论】:

      猜你喜欢
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-26
      • 2020-07-28
      • 1970-01-01
      • 2010-09-09
      相关资源
      最近更新 更多