是否可以循环检查html表单中的每个输入文本字段?例如,表单有8个预定义值为0的输入字段。
表单代码:
<form method="post" action="" id="form">
<input type='text' name="One" id="one" value='0'>
<input type='text' name="Two" id="two" value='0'>
<input type='text' name="Three" id="three" value='0'>
<input type='text' name="Four" id="four" value='0'>
<input type='text' name="Five" id="five" value='0'>
<input type='text' name="Six" id="six" value='0'>
<input type='text' name="Seven" id="seven" value='0'>
<input type='text' name="Eight" id="eight" value='0'>
</form>
当用户将其中一些值更改为任何其他大于0的数值并单击提交按钮时,循环会检查每个输入值,如果是value!=0
,脚本会收集新值及其输入名称,然后将其发布到数据库中。
例如,如果名为"One"的输入字段获得新值"2",而名为"Five"的输入域获得了新值"1",则脚本将在数据库One 2; Five 1;
中发布,并跳过所有其他值为0的字段。
或者用表格而不是输入字段来创建表单会更容易吗?
抱歉我英语不好,提前谢谢你。
由于您的标记具有jquery,因此这里有一种jquery方法来拦截提交并只发布更改后的值。您将替换输出要发布的文本的部分。请参阅更新的fiddle。
Html:
<form method="post" action="" id="form">
<input type='text' class='textInput' name="One" id="one" value='0'>
<input type='text' class='textInput' name="Two" id="two" value='0'>
<input type='text' class='textInput' name="Three" id="three" value='0'>
<input type='text' class='textInput' name="Four" id="four" value='0'>
<input type='text' class='textInput' name="Five" id="five" value='0'>
<input type='text' class='textInput' name="Six" id="six" value='0'>
<input type='text' class='textInput' name="Seven" id="seven" value='0'>
<input type='text' class='textInput' name="Eight" id="eight" value='0'>
<input type="submit" id='submit' value="Submit">
</form>
<p id='output'></p>
Javascript:
$('form').submit(function(){
$('.textInput').each(function(){
if($(this).val() != '0')
{
$('#output').text($('#output').text()+ ' ' + $(this).attr('name') + ':' + $(this).attr('value') );
}
});
return false;
});
var inputs = document.getElementById('form').children;
var data = {};
for(var i in inputs ){
if(inputs[i].value != 0)data[inputs[i].name] = inputs[i].value;
}
// do Post-Request with XHR here using data which holds all values