【问题标题】:how to focus on input field after page load?页面加载后如何专注于输入字段?
【发布时间】:2015-10-08 15:39:39
【问题描述】:

在我的页面中,我有一个使用 jquery/ajax 保存数据的 html 表单。当用户鼠标离开输入字段时,我正在调用 jquery/ajax。例如,我有以下字段:

1. name : <input type="text" name="name" id="name">
2. email : <input type="text" name="email" id="email">
3. mobile : <input type="text" name="mobile" id="mobile">

所以当用户鼠标离开任何字段时,jquery/ajax 用于将数据存储在数据库中。

现在我的问题是:当我在“姓名”字段中键入内容时,我会立即切换到第二个字段,即使用键盘选项卡的“电子邮件”字段。之后它正在加载页面,因为我在鼠标离开字段时调用它。现在我想在页面加载时关注第二个字段。不仅适用于第二个领域,它应该适用于任何领域。如何做到这一点?

【问题讨论】:

  • 使用.focus()。然后根据您对页面加载的含义将其包装在 document.readywindow.onload 中。
  • @SpencerWieczorek 我知道我必须使用 focus () 但是在加载页面时如何使用此方法?因为当页面加载时,我失去了焦点!
  • $(document).ready(){ ("#email").focus(); }; ?这是你想要的还是我误解了这个问题
  • 如果你正在做ajax调用,为什么要再次加载页面?只需加载您想要在 ajax 保存后真正更新的部分。
  • 好品脱@DeepakBiswal

标签: javascript jquery


【解决方案1】:

如果您正在进行 ajax 调用,为什么要再次加载页面?只需加载您想要在 ajax 保存后真正更新的部分。如果您想根据打开/操作值选择显示另一个部分,您可以在不加载页面的情况下执行此操作。

如果该部分已经在具有hide 模式的 DOM 中可用,那么在成功 ajax 调用后,只需将其设置为 show。但是,如果该部分在 DOM 中并不真正存在,那么在 ajax 调用之后,只需动态生成该部分的 HTML 内容,然后将其放入您需要的 DOM 中。

就是这样。 Ajax 调用基本上用于不重新加载页面。如果您正在加载页面,则根本不需要 ajax 调用,您可以以正常的post 方式执行此操作。

希望对你有帮助!

【讨论】:

    【解决方案2】:

    在您的 ajax 调用的成功部分,您可以指向下一个输入,例如:
    $("#email).focus();

    【讨论】:

    • 他在 ajax 调用后加载页面,所以这不起作用!
    • 不要刷新您实际更新数据库的页面,您的成功部分将关注其他输入!您可以刷新或完成所有工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多