提交表单后如何关注重叠弹出窗口?

时间:2013-10-18 08:45:10

标签: javascript php jquery html mysql

我有一个带有表单的叠加弹出窗口。表单有一个按钮和一个文本框(想象类似于FB Like和Comment框)。与表单的每次交互都会触发通过PHP函数调用的MySQL DB Insert。问题是,在单击按钮或注释(并按下键盘上的Enter键)后,叠加层将消失,主页面将刷新。我不希望这种情况发生,我想把重点放在弹出窗口上。我怎么能这样做?

以下是一些代码:

    <div id="LikeAndComment">
    <form name="formLAC" method="post" action="">
        <div id="containerLike">
            <button type="submit" id="likeit" value="FALSE" onClick="{vote(); keepFocus();}">
            <img src="images/implike_BUTTON.jpg" "/>
            </button>
        </div>
        <div id="containerComment">
            Commenta: <input type="text" class="input" id="comment" onkeydown="if (event.keyCode == 13) { this.form.submit(); keepfocus(); return false; }"></input>
        </div>
    </form>
</div>

这是keepFocus函数的代码:

function keepFocus() {
    $('.formLAC').focus();
    };

1 个答案:

答案 0 :(得分:1)

当您提交表单作为默认设置而不阻止表单提交和使用ajax时,浏览器将生成一个新请求并将您重新定向到您定义的action网址。 您要求的是提交表单而不重定向页面。 理想的解决方案是使用ajax。 您可以捕获提交表单事件并阻止默认操作。 然后你必须用自己的代码处理它,在这种情况下是ajax函数。

如何使用ajax发送表单的示例,您可以在这篇文章中看到很好的答案:
link to how make form submit with ajax