0

2つのIDのjQueryキーアップで、関数が実行されます。

$('#supplier_name').keyup(function(){
    clearTimeout(typingTimer);
    if ($('#supplier_name').val) {
        typingTimer = setTimeout(doneTyping, doneTypingInterval);
    }
    $.cookie("inputFocus", "#supplier_name"); 
});

この後、フォームが送信されます。キーアップ関数を実行させたIDにjQuery.focusを実行したいと思います。

したがって、フォームの送信後に#supplier_nameにテキストを入力した場合は、それに焦点を当てたいと思います。#aircraft_typeを使用するとその逆になります。

編集:私はクッキーを介してこれを行おうとしていますが、機能していないようです。

次のjQueryコードでこれを行うにはどうすればよいですか?

<script>
$(document).ready(function() {
    $("#state").change(function () {
    this.form.submit();
})
$.cookie("inputFocus").focus();
$("#supplier_name").val($("#supplier_name").val());
$("#aircraft_type").val($("#aircraft_type").val());
var typingTimer;                
var doneTypingInterval = 800;  

$('#supplier_name').keyup(function(){
    clearTimeout(typingTimer);
    if ($('#supplier_name').val) {
        typingTimer = setTimeout(doneTyping, doneTypingInterval);
    }
    $.cookie("inputFocus", "#supplier_name"); 
});

$('#aircraft_type').keyup(function(){
    clearTimeout(typingTimer);
    if ($('#aircraft_type').val) {
        typingTimer = setTimeout(doneTyping, doneTypingInterval);
    }
    $.cookie("inputFocus", "#aircraft_type"); });

function doneTyping () {
    $("form").submit();
}

});
</script>
4

1 に答える 1

0

上記の問題の解決策は、focus()を使用するオブジェクトを作成し、jQquerycookieプラグインを追加することでした。

変更は次のとおりです: "$ .cookie(" inputFocus ")。focus();" to "$($。cookie(" inputFocus "))。focus()"

以下のコードをページに追加しました: ""

于 2013-01-30T01:53:20.413 に答える