0

这可能真的很简单,但经过数小时的搜索,我无法弄清楚。

我需要自动聚焦在覆盖层内的表单字段上,该字段在单击按钮时打开。

我正在使用简单的 jQuery 覆盖代码。

$(function() {
    $("a[rel]").overlay();
});

按钮的代码是:

<a rel="#popup">Button text</a>

并且(简化的)叠加层的 HTML 代码在这里:

<div class="simple-overlay" id="popup">
    <form method="post" class="form-class" action="form-action"  >
        <input class="text" id="email-field" type="text" name="email" value="" />
        <input name="submit" class="submit" type="submit" value="Submit" tabindex="501" />
    </form>
</div>

提前致谢。

4

3 回答 3

1

这个答案是根据下面的好评(@Spokey)更新的。

准备好启动覆盖插件

$(function () {
    $("a[rel]").overlay({ mask: '#000000', onLoad: function(){ $('#email-field').focus();} });
});

并在<a>没有 onclick 事件的情况下保持标签干净。

这应该是这样做的方法。

于 2013-04-27T13:30:25.640 回答
0

感谢@Spokey,他找到了解决方案。

我已经在下面发布它以防有人在寻找答案。

您还可以在此处查看实时示例:http ://www.petersandeen.com/get-landing-page-checklist/

$(function () {
    $(".register-button").overlay({
        mask: '#000000',
        onLoad: function () {
            $('#email-field').focus();
        }
    });
});

.register-button 是分配给打开覆盖的按钮的 div 类。

#email-field 是分配给覆盖层内的表单字段的 div id,当覆盖层打开时会自动聚焦。

于 2013-05-02T20:37:15.070 回答
0

Try to add autofocus attribute to your input field:

<input class="text" id="email-field" type="text" name="email" value="" autofocus />
于 2013-04-27T13:26:57.187 回答