gpt4 book ai didi

JavaScript:动态字段名称

转载 作者:行者123 更新时间:2023-12-02 07:16:32 24 4
gpt4 key购买 nike

大家好,

我有一段 javaScript 可以从提供的字符串中删除逗号(在我的例子中是货币值)

它是:

    function replaceCommaInCurrency(myField, val)
{
var re = /,/g;

document.net1003Form.myField.value=val.replace(re, '');
}

'MyField' 是我尝试在我传入的任何字段上动态地进行这项工作,但它不起作用,我收到错误消息说'MyField' 无效。我有点明白,但我认为这是有效的。

我通过使用调用:onBlur="replaceCommaInCurrency(this.name, this.value);return false;"

this.name 和 this.value 正在传递正确的值...字段名称及其值。

我如何动态执行此操作?

-杰森

最佳答案

您可以使用 eval 使您的代码片段工作:

eval("document.net1003Form." + myField + ".value=val.replace(re, '');");

如下所述,方括号有效(并且不像 eval 那样糟糕),愚蠢的我忘记了那些:

document.net1003Form[myField].value=val.replace(re, '');

或者,尝试这样的事情:

function replaceCommaInCurrency(field){
var re = /,/g;
field.value = field.value.replace(re, '');
}

这样调用:

onBlur="replaceCommaInCurrency(this); return false";

您应该考虑使用 javascript 工具包来处理此类事情。您可以在每个输入上设置一个类似“货币”的类,然后使用这段基于 jQuery 的 Javascript 来处理所有事情:

$(function(){
$("input.currency").bind('blur', function(){
this.value = $(this).val().replace(',', '');
})
});

此代码将在文档准备就绪时触发,将事件处理程序附加到每个以货币作为其类的输入,然后进行替换。请注意,您也不需要用于替换的正则表达式。

关于JavaScript:动态字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/279575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com