首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替代eval()以使用LiveValidation构造函数

替代eval()以使用LiveValidation构造函数
EN

Stack Overflow用户
提问于 2009-12-16 19:07:04
回答 1查看 260关注 0票数 2

我对输入元素使用了LiveValidation。这些值位于一个通过AJAX调用检索到的表中,可以是4的倍数,在4到36之间的任意位置。

我使用eval来调用LiveValidation的构造函数,因为每次AJAX调用之后,输入元素的数量可能会有所不同,而且我想不出其他方法(我没有多少使用JavaScript的经验)。

我使用的是:

代码语言:javascript
复制
$("input[type=text]", tableElement).each(function(index) {
    eval("var temp_" + index + " = new LiveValidation(this, { wait: 0, validMessage: ' ' });");
    eval("temp_" + index + ".add(Validate.Numericality, { onlyInteger: true });");
    eval("temp_" + index + ".add(Validate.Presence, { failureMessage: 'Cannot be blank' });");
});

有什么更好的方法可以在不使用eval的情况下实现同样的效果,因为我知道应该非常谨慎地使用它。

EN

回答 1

Stack Overflow用户

发布于 2009-12-16 19:14:51

好吧,看起来我可以用这个:

代码语言:javascript
复制
$("input[type=text]", tableElement).each(function(index) {
    var temp = new LiveValidation(this, { wait: 0, validMessage: ' ' });
    temp.add(Validate.Numericality, { onlyInteger: true });
    temp.add(Validate.Presence, { failureMessage: 'Cannot be blank' });
});

我以为那不会起作用,但它确实起作用了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1913949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档