如果它为空,如何防止提交HTML表单的输入字段值
我有带输入字段的HTML表单。一些输入可以为空,即值为“”。
<input name="commentary" value="">
刚才,commentary
未设置字段时,它显示在提交网址中,如下所示:&commentary=
我如何从提交URL中删除空的输入,因此当commentary
输入为空时,将根本不会传递该输入。
非常感谢你。
更新资料
感谢 回答,我可以解决它。JavaScript代码如下:
$('#my-form-id').submit(function() { var commentary = $('#commentary').val();
if (commentary === undefined || commentary === "") {
$('#commentary').attr('name', 'empty_commentary');
} else {
$('#commentary').attr('name', 'commentary');
}
});
我为字段名加上“ empty_”前缀的唯一原因是IE无论如何都会在URL中传递空名称。
回答:
据我所知,这只能通过JavaScript来完成,因此,如果您依赖此功能,则需要进行重组。无论如何,这个想法是name
从不想包含的输入中删除属性:
jQuery的:
$('#my-form-id').submit(function () { $(this)
.find('input[name]')
.filter(function () {
return !this.value;
})
.prop('name', '');
});
没有jQuery:
var myForm = document.getElementById('my-form-id');myForm.addEventListener('submit', function () {
var allInputs = myForm.getElementsByTagName('input');
for (var i = 0; i < allInputs.length; i++) {
var input = allInputs[i];
if (input.name && !input.value) {
input.name = '';
}
}
});
如果您使用侦听器并取消,则之后可能还需要重置表单。
以上是 如果它为空,如何防止提交HTML表单的输入字段值 的全部内容, 来源链接: utcz.com/qa/420617.html