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
ますか? この可能な解決策についてどう思いますか。どのように実装できますか?
貴重なご協力ありがとうございます。