Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 捕获表单数据:变量还是数组?_Javascript - Fatal编程技术网

Javascript 捕获表单数据:变量还是数组?

Javascript 捕获表单数据:变量还是数组?,javascript,Javascript,我有一个大约有20个输入字段的表单。我捕获这些字段的值,然后进行一些计算并输出几个值 是否有捕获表单数据的首选/推荐方法?目前,我将每个表单字段存储到一个单独的变量中。我想知道将其存储到阵列是否是一种更好、更有效的方法 一般来说,我对JavaScript和编程非常陌生,试图学习最佳实践。 < P>您可以考虑第三种方法——只使用表单中的数据而不将其存储在任何地方。p> 首先检查正确性,一旦它被认为是正确的,就使用你所拥有的 我在这方面的最佳做法取决于我如何处理数据。如果我不需要遍历它,或者将它发送

我有一个大约有20个输入字段的表单。我捕获这些字段的值,然后进行一些计算并输出几个值

是否有捕获表单数据的首选/推荐方法?目前,我将每个表单字段存储到一个单独的变量中。我想知道将其存储到阵列是否是一种更好、更有效的方法


一般来说,我对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个。