我有一个表单,其中包含我们公司每种产品的大约一百个输入/文本字段。该表格将在当天结束时填写,并注明所售出的每种产品的数量。
如何让表单只传递相对较小的非空字段子集?
我不是在寻找表单验证。用户可以在任何输入字段中输入或不输入值;但是,我只希望输入了值的输入字段包含在表单传递的 POST 中。
Thanks
一种方法是在提交之前将所有空字段设置为禁用,例如
function disableEmptyInputs(form) {
var controls = form.elements;
for (var i=0, iLen=controls.length; i<iLen; i++) {
controls[i].disabled = controls[i].value == '';
}
}
并在表单的提交侦听器上运行它:
<form onsubmit="disableEmptyInputs(this)" ...>
因此,任何值为“”(空字符串)的输入都会有其值disabled属性设置为true并且不会提交。
或者动态添加监听器:
window.onload = function() {
document.getElementById('formID').addEventListener('submit', function() {
Array.prototype.forEach.call(this.elements, function(el) {
el.disabled = el.value == '';
});
}, false);
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)