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 を入力するように求められ、ステータスとして受信を選択したときにのみ入力する必要があります。注文を追跡する方法としてフォームを使用しており、実際に配達を受けるまでesnを取得しません.

この状態を処理する方法についてアドバイスをお願いします。読んでくれてありがとう。

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

これは、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 に答える
1

Submitで関数を呼び出して、次のような値を確認できます

<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 に答える