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 字段上设置“必需”,但如果我这样做,它总是要求用户输入 ESN,我只需要他们在选择接收作为状态时输入它。我们使用表格作为跟踪订单的一种方式,在我们实际收到交货之前我们不会收到 esns。

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

4

4 回答 4

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');
    });
});
于 2013-02-20T07:00:47.607 回答
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>

即使没有 jQuery,这也对你有用

于 2013-02-20T07:03:54.137 回答
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();

}
于 2013-02-20T07:01:00.490 回答
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()'/>

在选择框中添加id并正确关闭选择框

于 2013-02-20T07:15:08.427 回答