Javascript 捕获表单数据:变量还是数组?
我有一个大约有20个输入字段的表单。我捕获这些字段的值,然后进行一些计算并输出几个值 是否有捕获表单数据的首选/推荐方法?目前,我将每个表单字段存储到一个单独的变量中。我想知道将其存储到阵列是否是一种更好、更有效的方法Javascript 捕获表单数据:变量还是数组?,javascript,Javascript,我有一个大约有20个输入字段的表单。我捕获这些字段的值,然后进行一些计算并输出几个值 是否有捕获表单数据的首选/推荐方法?目前,我将每个表单字段存储到一个单独的变量中。我想知道将其存储到阵列是否是一种更好、更有效的方法 一般来说,我对JavaScript和编程非常陌生,试图学习最佳实践。 < P>您可以考虑第三种方法——只使用表单中的数据而不将其存储在任何地方。p> 首先检查正确性,一旦它被认为是正确的,就使用你所拥有的 我在这方面的最佳做法取决于我如何处理数据。如果我不需要遍历它,或者将它发送
一般来说,我对JavaScript和编程非常陌生,试图学习最佳实践。 < P>您可以考虑第三种方法——只使用表单中的数据而不将其存储在任何地方。p>
首先检查正确性,一旦它被认为是正确的,就使用你所拥有的 我在这方面的最佳做法取决于我如何处理数据。如果我不需要遍历它,或者将它发送到另一个页面/服务,那么单个作用域变量就没有问题 如果我需要循环,我通常使用数组或对象来循环 如果我必须将其传递给另一个页面/服务,我会创建一个对象变量来封装其余的页面/服务,这样我就可以将其“字符串化”为JSON并解析回另一端的对象 就我的意见,
Pete您应该始终将属性“name=…”分配给输入元素,这样您就可以使用如下内容:
var form = document.forms['form'];
var email = form['email'];
email = do something
如果你使用javascript。。。如果使用jquery,它很简单$('input[name=“email”]')=做点什么
我更喜欢这种方式,因为您可以通过名称而不是数字来调用变量,例如“与输入[name=“email”]相对应的表单[0]”使用JavaScript中数组的关联属性来获得唯一字段名和OOP:
var formModel = new Array();
formModel['myField'] = getMyFieldValue(); // make 'myField' index to any object
然后你可以做如下事情:
formModel['myField']//获取值
formModel.length;//添加的字段数
for(formModel中的条目){/*循环通过条目*/}
formModel.sort([compareFunction])//自定义排序
formModel=[];//清除型号
- 任何这些便利
只有一种方法,但JS中的数组用途非常广泛,我认为JS中的对象没有得到充分利用。您可能需要尝试并包含您的代码。在我进行的计算中,我需要在几个不同的公式中使用一些数据,因此将它们存储到变量/数组中似乎是正确的方法。但我可能错了,我会把形式放在变量中,然后在计算中使用类似于形式['value']的东西。对于使用频率更高的变量,可以将它们放入变量中。将它们放入数组不会给您带来太多好处,表单是一种数组,因此无需添加额外的数组。这是我目前正在做的事情,但有20-30个变量对我来说似乎有点难以承受,所以我想知道是否有更好的方法来处理表单数据。我建议您继续这样做,然后,您可以使用一些函数检查所有这些函数。如果有2个或更多的输入需要相同的控件,则不必编写20个函数,而只需为所有函数编写1个。