【发布时间】:2011-04-26 04:56:36
【问题描述】:
首先我要声明我完全意识到 JavaScript 中没有“真正的”关联数组。话虽这么说,我想要类似的东西......
<form action="javascript:submitSpecial();" name="myForm" >
<input name="myInput" type="text" />
</form>
具体来说,我不希望此表单直接调用 .php 脚本。我希望它由我的 JavaScript 函数“submitSpecial()”处理并选择具有各自名称的表单输入,并对下一个 .php 脚本进行 AJAX 调用。
document.forms['myForm']['myInput'].name
document.forms['myForm']['myInput'].value
基本上,我想构建或查找包含此信息的数组。我只能使用 JavaScript,不能使用 JQuery 或类似的东西。 elements[] 集合非常接近,但我需要知道值所属的列名。
有什么建议吗?
提前致谢, 扎克
【问题讨论】:
-
+1 我很想找到你的问题的答案,很确定它可能对我有用:D
-
你不能用
getElementsByClassName这样的东西吗? -
“属于值的列名”是什么意思?在 Web 浏览器中实现的表单没有列。当您说“我想构建或查找包含此信息的数组”时,您并不清楚“此信息”是什么。我将根据我认为您的意思添加一个答案,但如果事实证明我误解了您的要求,请告诉我,我将删除它。
-
您不使用 jQuery(或任何 JavaScript 库)的原因是什么? JavaScript 库是 设计 来帮助你的。当然,您可以递归地遍历“表单”元素的所有子元素并构建一个包含所有值的对象,一个编写良好的 JavaScript 库可以在一个语句中为您完成,您不必担心不同的不同浏览器的怪癖和 childNodes、children 等的不同语法。例如,如果您使用 Dojo Toolkit,则可以调用 toObject() 函数来创建包含值的对象。
标签: javascript forms dom