如果它为空,如何防止提交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

回到顶部