2013-02-20 115 views
0

我有一个表单,现在有几个基本字段。根据输入字段值提交表格

<input name="model" type="text"> 
<input name="esn" type="text"> 
<select name="status"> 
    <option value="Pending">Pending</option> 
    <option value="Ordered">Ordered</option> 
    <option value="Received">Received</option> 
</select> 
<input type="submit" value="Save Order or Add Payment" /> 

我让我的用户需要编辑这个形式,所以基本上如果模型已被责令他们设定的状态为随后下令,他们将其保存到数据库。这些工作正常,但我想添加一个条件,如果他们选择收到的状态,并点击提交按钮,它会首先检查ESN是否为空。我知道我可以在esn字段中设置“required”,但如果我这样做,它总是要求用户输入ESN,而我只需要他们在选择接收状态时输入它。我们使用该表单作为追踪订单的方式,直到我们实际收到交货为止,我们才得到这些订单。

任何有关如何处理这种情况的建议吗?谢谢阅读。

回答

4

然后,您可以使用addClass removeClass函数。添加收到选项时所需的类。

<input name="esn" id="esn" type="text"> 
<select name="status" id="status"> 


$(document).ready(function(){ 
    $('#status').change(function(){ 
     if($(this).val() == 'Received') 
      $('#esn').addClass('required'); 
     else 
      $('#esn').removeClass('required'); 
    }); 
}); 
+0

无需使用jQuery这样一个简单的任务。另外,请更正您的代码以将该类添加到ESN,而不是状态 – Techmonk 2013-02-20 07:02:17

+1

由于他在说要添加所需的类,他必须通过jQuery验证表单。我已经纠正了。无论如何,谢谢 – hsuk 2013-02-20 07:04:46

+0

我决定与这一个去,因为我正在尝试学习jquery,而不是addClas,而是使用了attr。谢谢。 – 2013-02-21 03:27:27

1

你可以叫上提交一个函数,检查值有什么样

<input type="button" value="Save Order or Add Payment" onclick="validate(this.form)"/> 

function validate(form) 
{ 
if (document.getElementByName(status).value==="Recieved" && document.getElementByName(esn).value==="") 
    alert("Please fill ESN"); 
else 
    form.submit(); 

} 
2
<form method='post' action='somesite.php'> 
     <input name="model" type="text"> 
     <input name="esn" type="text"> 
     <select name="status"> 
      <option value="Pending">Pending</option> 
      <option value="Ordered">Ordered</option> 
      <option value="Received">Received</option> 
     <input type="submit" value="Save Order or Add Payment" onclick='return validate();' /> 
    </form> 

    <script> function validate() { 
     if(document.getElementsByName('esn')[0].value == "") 
{ 
alert ('ESN is Empty'); 
return false; 
} 
     return true 
    } </script> 

这将工作在V,即使没有jQuery的

1

这可以实现使用JavaScript。编写一个条件来检查用户是否选择了接收,然后如果esn为空,返回false或显示一些警报。在选择框中

function checkReceived() 
     { 
      var s = document.getElementById('status'); 
      var item1 = s.options[s.selectedIndex].value; 
      if(item1=='Received') 
      { 
       alert("ens should not empty"); 
       return false; 
      } 
      else 
      { 
       return true; 
      } 
     } 



<input type="button" value="Save Order or Add Payment" onclick='checkReceived()'/> 

增加号码并关闭选择框正确