【发布时间】:2011-12-23 04:37:01
【问题描述】:
我有带有输入字段的 HTML 表单。某些输入可以为空,即值为 ""。
<input name="commentary" value="">
刚才,当commentary字段没有设置时,它会出现在提交url中像:&commentary=
如何从提交 url 中删除空输入,因此当 commentary 输入为空时,它根本不会被传递。
非常感谢。
更新
感谢minitech的回答,我可以解决它。 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 中传递了空名称。
【问题讨论】:
-
添加“禁用”属性 (
$('#commentary').attr('disabled', 'disabled') 是一种可能的解决方法,因此 IE8 不会在 URL 中传递空名称。但是有一个副作用:在提交表单之前,所有空字段都会短暂变灰。 -
实际上,使用
$('#commentary').attr('name', null)似乎适用于所有浏览器。 -
$('#commentary').removeAttr('name')也适用于所有浏览器
标签: javascript html forms http-post