1
我想创建一个可以添加或删除输入的表单。使用Java脚本获取动态列表中的输入值
我将用它发送请求到我的web服务。
我希望我可以添加尽可能多的参数,我想要的。
按钮添加添加两个输入和删除按钮
按钮来删除2个输入和按键
屏幕
我选择把这个字段的动态列表。
HTML
<ul class="fields" id="fields">
</ul>
<input type="button" value="ADD" name="addField" id="addField" class="addField">
JS
<script type="text/javascript">
var buttonAddField = document.getElementById('addField');
var fields = document.getElementById('fields');
//add fields and delete fields
buttonAddField.addEventListener('click', function() {
var li = document.createElement('li');
var buttonDelete = document.createElement('button');
buttonDelete.addEventListener('click', function() {
fields.removeChild(li);
});
buttonDelete.appendChild(document.createTextNode("DELETE"));
var inputName = document.createElement("input");
inputName.type = "text";
var inputValue = document.createElement("input");
inputValue.type = "text";
li.appendChild(inputName);
li.appendChild(inputValue);
li.appendChild(buttonDelete);
fields.appendChild(li);
});
</script>
当我想送我的请求,我想在我的名单得到键/值。
我有这样的想法:
var data = new FormData();
var items = fields.getElementsByTagName('li');
for (var i = 0; i < items.length; i++) {
console.log(items[i]);
}
它返回
<li>...</li>
如何获得键/值?
这不是因为它是“太大了”。一个'li'元素是......好,一个元素。不是一个字符串。将它强制转换成一个字符串('console.log'不会;你可以展开'''部分)不会神奇地提取其中的文本(这里有'textContent'属性),实际上会产生不同的结果在不同的浏览器中。 – Touffy 2015-03-02 15:41:01