如何在提交表单时排除某些表单字段而不禁用该字段

Dau*_*ice 8 javascript php ajax

如果我有一个包含以下3个字段的表单:

名字姓氏出生日期

当用户填写所有3个字段并提交时,您将获得该URL

http: //fakeURL.php?firstName=Fred&lastName=Flintstone&DateOfBirth=2/5/1952
Run Code Online (Sandbox Code Playgroud)

但是,如果用户只填写名字和出生日期,您将获得

http: //fakeURL.php?firstName=Fred&lastName=&DateOfBirth=2/5/1952 (where lastName has no value)
Run Code Online (Sandbox Code Playgroud)

我如何实现

http: //fakeURL.php?firstName=Fred&DateOfBirth=2/5/1952 (where lastName and value are removed from the URL)
Run Code Online (Sandbox Code Playgroud)

我不想在使用onsubmit时禁用输入字段.有没有比禁用输入字段更好的方法?

请帮忙...

sim*_*bor 18

只需从输入元素中删除"name"属性 -

// using jQuery
$('#inputId').removeAttr('name');

// native Javascript
document.getElementById('inputId').removeAttribute('name');
Run Code Online (Sandbox Code Playgroud)

请享用!


Dan*_*man 5

你必须:

  1. 在提交之前从表单中删除或禁用该字段
  2. 不要提交表单,而是重定向到您自己从表单构建的URL
  3. 发出AJAX请求而不是离开页面

除了这些选项之外,如果没有所有输入成为URL的一部分,则无法通过GET提交此表单.这是HTML和HTTP规范的一部分.