Javascript 必选| |必选HTML5表格

Javascript 必选| |必选HTML5表格,javascript,html,forms,client-side-validation,required,Javascript,Html,Forms,Client Side Validation,Required,我的情况是,如果表格中的两个必填字段中只有一个被填写,那么它应该提交表格。不幸的是,如果我在两个字段上都输入required,它将等待两个字段都被填写。不使用JS,这能工作吗?我知道这几乎是不可能的,而不知道它的任何隐藏功能 不使用JS,这能工作吗 不需要,您需要JavaScript在客户端进行验证。解决方案需要JS,但很简单-只需根据元素是否有值切换元素的.required属性: var t1=document.getElementById('test1'); var t2=document

我的情况是,如果表格中的两个必填字段中只有一个被填写,那么它应该提交表格。不幸的是,如果我在两个字段上都输入
required
,它将等待两个字段都被填写。不使用JS,这能工作吗?我知道这几乎是不可能的,而不知道它的任何隐藏功能

不使用JS,这能工作吗


不需要,您需要JavaScript在客户端进行验证。

解决方案需要JS,但很简单-只需根据元素是否有值切换元素的
.required
属性:

var t1=document.getElementById('test1');
var t2=document.getElementById('test2');
函数toggleRequired(){
t2.required=(t1.value.trim()='');
t1.required=(t2.value.trim()='');
}
t1.addEventListener('change',toggleRequired,false);
t2.addEventListener(“更改”,需要切换,错误)




你也可以把它放在一个div中。它确实对我有用

<form>
  <div class=question>
    <input id="field1_1" name="field1" required>
    <input id="field1_2" name="field1" required>
    <input type="submit" />
  </div>
</form>


No。验证的复杂性需要JS。不过,您可以使用HTML5验证API。如果没有javascript,这似乎是不可能的。然而,现在我也有兴趣了解@Mohammad:这里只是勾选框,但你也在验证服务器端,对吗?对这个问题的否决票是怎么回事?这是一个很好的问题,是我们现在看到的少数几个问题之一。如果它们都有值怎么办?那么两个
required
属性都将设置为false,但由于它们都有值,这并不重要,因为已经实现了所需的结果。当然,因为它已在
onchange
事件中注册。无论如何都要改变这一点,但是在任何情况下(没有双关语),该事件都应该在焦点离开控件的任何时候以及按下
submit
按钮之前触发。