【发布时间】:2017-05-11 22:39:25
【问题描述】:
我有一个接受用户输入的表单
<form id='myForm'>
<div id='x'>
<h2> start </h2>
<ul class="rounded">
<li><input type="text" placeholder="text" id="o" /></li>
</ul>
<h2>dests </h2>
<ul class="rounded">
<li><input type="text" placeholder="text" id="d" /></li>
</ul>
<ul class="rounded">
<li><input type="text" placeholder="text" id="d" /></li>
</ul>
</div>
<li class="arrow"><a href="#page2" onclick='function()'>Run </a></li>
</form>
我需要一种从表单中的每个字段获取用户输入并将其放入数组的方法。我研究了 getElementByTagName('input'),但这会返回一个 HTMLCollection 对象。有什么建议? (如果您想知道奇怪的语法是怎么回事,我正在使用 jqtouch)
【问题讨论】:
-
我看到你有两个输入相同的
id。id应该是独一无二的,到目前为止您还尝试过什么?你的 javsascript 在哪里? -
您有多个具有相同 ID 的元素
-
正如他们在 cmets 中提到的,您有多个具有相同 ID 的控件。您可以尝试下面的代码行。 var inputControls = $('#myForm').find('input[type=text]'); var inputArray = []; $.each(inputControls, function(index, value){ var inputValue = $(item).val(); inputArray.push(inputValue); });
-
它们必须是唯一的吗?表单是动态的(用户可以添加更多 dest),因此当用户添加更多 dest 时很难增加 id。
标签: javascript arrays forms dom