我有一个包含大约20个输入字段的表单。我捕获这些字段的值,然后进行一些计算并输出几个值。
是否有首选/推荐的方式来捕获表单数据?目前,我将每个表单字段存储到单独的变量中。我想知道将它存储到数组是否会更好,更有效。
我对Javascript和编程很陌生,试图学习最佳实践。
答案 0 :(得分:2)
我的最佳实践取决于我对数据的处理方式。如果我不需要遍历它,或者将它发送到另一个页面/服务,那么单个作用域变量没有任何问题。
如果我需要循环,我通常使用数组或对象循环。
如果我必须将它传递给另一个页面/服务,我创建一个对象变量来封装其余的,所以我可以将它“字符串化”为JSON并解析回另一端的对象。
我的意见,
皮特
答案 1 :(得分:0)
您可能会考虑第三种方法 - 只使用表单中的数据而不将其存储在任何位置。
首先检查正确性,一旦被认为是正确的,只需使用你拥有的。
答案 2 :(得分:0)
您应该始终指定属性" name = ..."到输入元素,所以你可以使用类似的东西:
var form = document.forms['form'];
var email = form['email'];
email = do something
如果你使用javascript ...如果你使用jquery它的简单$('输入[name =" email"]')=做某事
我更喜欢这种方式,因为您可以按名称调用变量,而不是按数字调用,例如" form [0]对应输入[name =" email"]"。
答案 3 :(得分:0)
在JavaScript中使用array
的关联属性来获取唯一字段名称和OOP的好处:
var formModel = new Array();
formModel['myField'] = getMyFieldValue(); // make 'myField' index to any object
然后你可以做以下事情:
formModel['myField'] // get the value
formModel.length; // number of fields added
for (entry in formModel) { /* loop thru entries */ }
formModel.sort([compareFunction]) // custom sort
formModel = []; // clear the model
只是一种方法,但JS中的数组非常通用,并且在JS中IMO未被充分利用的对象。