在JavaScript如何选择一个时需要多个表单域?

问题描述:

在html5页面中,我有两个标准格式的字段。我需要的是当用户选择这些字段中的任何一个字段来要求其他字段中的数据时。提交时的任何空白字段都要求所有相关字段包含数据。在JavaScript如何选择一个时需要多个表单域?

当第二个字段没有被用户填充时,这对于第一个字段可以正常工作。但是当第二个字段被填充并且第一个字段为空时,它不起作用 - 绕过这个条件并转到checkSubmission函数。

 <script language="javascript"> 

     function validateAndSend() { 
     if (myform.field1.value != '' && myform.field2.value == '') { 
      alert('You have to enter data in field2.'); 
      return false; 
     } else if (myform.field2.value != '' && myform.field1.value == '') { 
      alert('You have to enter data in field 1.'); 
      return false; 
     } else { 
     checkSubmission(); 
     } 
    } 

     function checkSubmission(){ 
     var r = confirm('Are you sure you are ready to submit?'); 
     if (r == true) { 
     myform.submit(); 
     }else{ 
     return false; 
     } 
     } 
    </script> 

    The HTML - 
    <form name="myform" action="mypage.jsp" method="post" onsubmit="validateAndSend();return false;"> 
     <select name="field1" id="textarea1"> 
    <option value=""></option> 
    <option value="data1">data1 select</option> 
    <option value="data2">data 2 select</option> 
    </select> 

    <input type="text" name="field2"> 

我也有多达4个应在所有应再次涉及到另一个当用户选择其中的一个多个字段;他们都必须被要求,一旦四个被选中的形式之一。

任何帮助表示赞赏。

+0

对于你的情况,我认为这将是更好,如果你能为我们提供了小提琴,例如的jsfiddle。 –

+0

你的代码[适合我](https://jsfiddle.net/qfw77hez/)。 – nnnnnn

+0

您是否尝试过在表单元素的'html'处使用'required'属性? – guest271314

为什么不把required放在您的输入栏上?

<input name="whatever" required> 

这需要照顾一切无javascript

+0

这不适用于OP的要求,即“当用户选择这些字段中的任何一个字段以在其他字段中要求数据时” - 在这种情况下,如果两个字段是空白的,它应该通过验证。 – nnnnnn

+0

啊,我明白了。那么也许他可以添加必要的属性与jQuery一旦选择了一个字段 – javif89