【问题标题】:jQuery focus after submit on last input field edited提交最后一个输入字段后的jQuery焦点编辑
【发布时间】:2013-01-13 15:24:11
【问题描述】:

在两个 ID 上的 jQuery keyup 上执行一个函数。

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

在此之后提交表单。我想做 jQuery 。专注于导致 keyup 函数执行的 ID。

因此,如果我在提交表单后在#supplier_name 中输入了文本,我希望将重点放在那个上面。反之亦然#aircraft_type。

编辑:我正在尝试通过 cookie 执行此操作,但它似乎不起作用。

如何使用以下 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>

【问题讨论】:

  • 我认为你的意思是 $('#supplier_name, #aircraft_type').val$(this).val()
  • 您实际上是在提交导致新页面加载的表单。如果您使用 Ajax 调用提交表单内容会更容易。另一种方法是包含一个隐藏的表单字段并在那里设置焦点字段的 id 并在页面加载时重置焦点。但我真的会推荐 Ajax 解决方案。
  • @Dehalion 不幸的是,我没有运气从教程中弄清楚如何做到这一点。我想如果有人要“Ajaxify”我创建的一段代码,我会更好地理解它。你愿意接受挑战吗? (我可以创建另一个问题专门解决它并将其链接到您?)
  • 我现在更新了代码以反映我最近的努力。我试图将 ID 存储在 cookie 中,然后专注于 cookie。但是,这似乎不起作用。
  • $.cookie() 返回 cookie 值,您必须创建一个 jQuery 对象才能使用 focus(),如下所示:$($.cookie("inputFocus")).focus()。您在 JS 控制台中遇到什么错误或什么也没发生?

标签: jquery html


【解决方案1】:

上述问题的解决方案是创建一个对象来使用focus()并添加jQquery cookie插件。

变化如下: "$.cookie("inputFocus").focus();"到 "$($.cookie("inputFocus")).focus()"

在页面中添加了以下代码: ""

【讨论】:

    猜你喜欢
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多