如果设置了另一个字段,则验证表单中的字段

validate a field in a form if another field is set

提问人:PAOK1926 提问时间:2/12/2019 最后编辑:PAOK1926 更新时间:2/12/2019 访问量:321

问:

我有这个表格,

<form action="/action_page.php">
  First name:
  <input name="firstname" type="text">
  <br>
  Last Name:
  <input name="lastname" type="text">
  <br>
 <select name="cars">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="fiat">Fiat</option>
  <option value="audi">Audi</option>
</select> <br>
  <input type="radio" name="gender" value="male" checked> Male<br>
  <input type="radio" name="gender" value="female"> Female<br>
  <input type="submit">
</form>

所有字段在提交时都可以为空,但 除外,用户必须填写 FirstName 和 LastName 由于这是一个内部表单,因此客户端验证就足够了。if gender=female

对不起,这是我的第一篇文章。我正在寻找javascript验证代码..

有人可以帮我吗?

JavaScript 验证 客户端

评论

1赞 Cid 2/12/2019
if ($_GET['gender'] == "female") { 可能是一个好的开始(get 是因为你没有定义一个方法,默认的方法是 get)
0赞 Siva 2/12/2019
验证代码部分在哪里?
1赞 Stephan Vierkant 2/12/2019
您想要服务器端还是客户端验证?您已经添加了 PHP 和 Javascript 标记,但未包含其中任何一个的代码。
1赞 Stephan Vierkant 2/12/2019
@Cid 我同意,但至少应该从其中之一开始。我的问题是:这个问题是关于什么的?
1赞 Stephan Vierkant 2/12/2019
@PAOK1926 您可以编辑它们,而不是放置多个注释。或者更好的是:编辑您的问题,这样其他用户就不必在理解您的问题之前阅读所有评论。

答:

1赞 Cahue 2/12/2019 #1

你的问题涉及许多不同的事情。你把它标记为javascript,但你的帖子和代码只引用了PHP。因此,我将讨论PHP中可能的解决方案:

我们知道此表单会将数据发送到 。 由于您没有在表单中指定 a,因此数据将通过 GET 方法传输,然后可以通过 访问,例如。/action_page.phpmethod=".."action_page.php$_GET['gender']

现在,您只需验证您的输入并决定将采取什么行动方案。action_page.php

if ($_GET['gender'] == 'female' && !isset($_GET['firstname']) {....}

评论

1赞 PAOK1926 2/13/2019
非常感谢,但我正在寻找 JavaScript 客户端解决方案。