我已经看到并阅读了this个问题。我在那里找不到答案。
我有一些接受html模板的代码,并在表单中使用该模板。 该模板将包含x个输入字段。
有没有办法一般检查这些输入字段中的值? 有点像这样:
var inputFields = element.getElementsByTagName('input');
inputFields.forEach(function (element) {
var value = element.value;
// ... something
});
我知道这不会奏效,但你明白了。
我想我必须针对不同的输入类型编写特殊情况,但我想我是否有任何人对此问题有任何经验。
这是用纯JavaScript完成的,所以我真的不需要jQuery。除非你在jQyery中有一个非常简洁的方法,否则只需简单的JavaScript。
编辑:我需要检查是否已在字段中输入任何输入,无论是文件还是文本。我需要删除那些没有价值的人的名字属性。
答案 0 :(得分:0)
使用以下内容,我无法看到您需要针对不同类型进行任何特殊处理。您只需阅读value属性:
<script>
var t = '<table>';
var inputTypes = ('hidden text tel url email password datetime date month week' +
' time number range color checkbox radio file submit image' +
' reset button').split(' ');
var type;
for (var i=0, iLen=inputTypes.length; i<iLen; i++) {
type = inputTypes[i];
value = type == 'number'? 10 : 'input type ' + type;
t += '<tr><td>' + type + '<td><input type="' + type +
'" name="' + type + 'Input" value="' + value + '">';
}
document.write(t + '<\/table>');
</script>
<button onclick="getValues(document.getElementsByTagName('input'))">Get values</button>
<script>
function getValues(inputs) {
var input;
for (var i=0, iLen=inputs.length; i<iLen; i++) {
input = inputs[i];
console.log(input.name + ': ' + input.value);
}
}
</script>
您可能需要检查是否已选中复选框和无线电。为此,获取值可以是:
if (input.type in {radio:'', checkbox:''}) {
if (input.checked) {
// get value
}
} else {
// get value
}