1

jQuery オートコンプリートとリモート検証に関する既知の問題があります。オートコンプリート コントロール内にいくつかの値を書き込んだ場合、値を選択してコントロールがフォーカスを失うと、リモート検証に渡される値は、選択されたものではなく、入力されたものになります。

例えば:

LEOと入力すると、オートコンプリートでLEO N とLEO PARD が表示され、LEOPARD を選択します。リモート検証がトリガーされますが、渡される値は入力されたテキスト LEO であり、選択されたものではありません

CulbertonExchange で James 氏が説明した次の解決策を試しましたが、フォームにデータを送信する必要がありますが、選択またはフォーカスを失ったときにすぐに検証をトリガーする必要があります

     <!-- THE AUTO TRIGGER TO REMOTE VALIDATION IS DISABLED, BUT THIS IS NOT REQUIRED BEHAVIOUR -->
     <script type="text/javascript">
        window.onload = function () {
            var validatorSettings = $('#myform').validate().settings;
            validatorSettings.onkeyup = false;
            validatorSettings.onfocusout = false;
        }
     </script>

selectFirstまた、 and/orautoFocusを に設定しようとしましtrueたが、それでも機能しません。

     $("#fieldtovalidate").autocomplete({
         selectFirst: true,
         autoFocus: false,
         ....

onkeyup イベントと onfocusout イベントを無効にし、オートコンプリートのイベントが発生するたびに再度有効にすることで、問題を解決できると思いonCloseますか? この可能な解決策についてどう思いますか。どのように実装できますか?

貴重なご協力ありがとうございます。

4

0 に答える 0