这只能通过JavaScript,据我所知,所以如果你依靠这个功能,你需要重组。这个想法,无论如何,是从您不想要的输入中删除名称属性:
jQuery:
$('#my-form-id').submit(function () {
$(this)
.find('input[name]')
.filter(function (input) {
return !input.value;
})
.prop('name', '');
});
没有jQuery:
var myForm = document.getElementById('my-form-id');
myFrm.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 = '';
}
}
});
如果您使用侦听器并取消,可能还需要重置表单。