0

次の回答を使用して、必要なドロップダウン ボックスを実装しています。唯一の違いは、アプリケーションのドロップダウン ボックスのコードがポップアップする新しいページにあることです。

問題は、ユーザーが値のないオプションを含むオプションを選択すると、フォームが送信されることです!

ページ1

   <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate
                                                         /1.9/jquery.validate.js"
                                                        </script>
   <script type="text/javascript">

          $("#everything").validate({
              messages: {
                  dd1: {
                     required: "Please select an option from the list, if 
                                none are appropriate please select 'Other'"
                }
            }
          });
          function popup(){
             document.getElementById("mydropbox").style.display = "Block";
              >> send request to server to show the Page 2 in body of mydropbox <<
             return false;
          }
   </script>

</head>
<body>

    <a href="" OnClick="return popup()">popup</a>

    <div id="mydropbox"></div>
...  
</body>
</html>

ページ2

<html>
 <body>
    <form id="everything">
             <label for="dd1">Select the best option</label><br/>
             <select name="dd1" id="dd1" class="required">
                 <option value="">None</option>
                 <option value="o1">option 1</option>
                 <option value="o2">option 2</option>
                 <option value="o3">option 3</option>
             </select> 
             <br/><br/>
             <input type="submit" />
   </form>
 </body>
</html>
4

2 に答える 2

0

required要素に属性を追加しますselect。少なくとも最新のブラウザーでは機能するはずです。

ユーザーが選択しているオプションに空の値がある場合(この場合のオプション「なし」など)、ユーザーに警告します。もちろん、これに頼ることはできないため、サーバー側の検証も行う必要があります。

于 2013-08-14T01:35:15.413 に答える
0

更新されたデモ

HTML

<input type="submit" id="sbt" /> //added id to the submit button sbt

js

$('#sbt').click(function (e) {
    e.preventDefault(); //stop form submit
    if ($('#dd1 option:selected').text() != 'None') {
        $('#everything').trigger('submit'); // if selected text not = to None then trigger form submit.
    }
});

デモ

フォームから送信ボタンを削除し、これを使用します

ドロップダウンリストの値が変更された場合にのみ、フォームが送信されます

<select onchange="this.form.submit()">
    ...
</select>
于 2013-08-14T01:35:23.450 に答える