0

我希望选项 ccc 是可选的,但不提交,所以当有人提交带有选项 ccc 的表单时,<select>不应该发送所有内容。

只有 HTML 的解决方案是最好的。

<select name="some">
   <option>aaa</option> //send
   <option>bbb</option> //send
   <option special>ccc</option> //dont send
</select>
4

4 回答 4

1

select在使用 javascript 提交表单之前,如果不删除或禁用它,您将无法阻止提交。

话虽如此,在服务器端对此进行测试更有意义,并且实际上在未选择任何选项时会定期进行,如下所示:

<select name="some">
   <option value="-1">Select an option</option> 
   <option value="aaa">aaa</option> 
   <option value="bbb">bbb</option> 
</select>

PHP:

if ($_POST['some']!=-1) {
  // do something
}
于 2013-07-09T10:10:43.273 回答
1

仅使用 HTML,将始终提交该字段。但是,您可以发布一个空值,产生几乎相同的效果:

<select name="some">
   <option value="aaa">aaa</option>
   <option value="bbb">bbb</option>
   <option value="">ccc</option> //empty value
</select>
于 2013-07-09T10:09:48.020 回答
0

仅使用 HTML,您可以

<form action="#" method="POST">
<select name="some" required>
    <option selected value="">ccc</option> //empty value
    <option value="aaa">aaa</option> //send
    <option value="bbb">bbb</option> //send
</select>

<input type="submit" name="submit">
</form>

于 2020-10-15T09:44:49.840 回答
-1

尝试这个

<select name="some">
   <option value="aaa">aaa</option> //send
   <option value="bbb">bbb</option> //send
   <option>ccc</option> //dont send
</select>

如果我是正确的,当您发送选择了 ccc 的表单时,这应该不会返回任何内容。

于 2013-07-09T10:03:19.767 回答