表单没有操作,输入不重新加载页面

Mat*_*rts 84 html javascript forms

我正在寻找创建没有提交按钮的HTML表单的最佳方法.这本身很容易,但我还需要在完成类似提交的事情时停止表单重新加载(例如,Enter在文本字段中点击).

Dut*_*432 183

您希望包含action="javascript:void(0);"在表单中以防止页面重新加载和维护HTML标准.

  • 按下输入时,只花了2天试图压制提交按钮默认操作,因为虽然操作已经发生,但页面最终重新加载(Firefox).在表单上添加javascript void as action修复它.感谢那. (3认同)

K P*_*ime 43

向表单添加一个onsubmit处理程序(通过普通的js或jquery $().submit(fn)),并返回false,除非满足您的特定条件.

除非您不希望表单提交,否则 - 在这种情况下,为什么不在表单元素上省略'action'属性?

  • 根据标准,没有`action`属性的表单不是表单 - 并且实际上会在某些浏览器中导致页面重新加载..我发现`action ="javascript:void(0);"`效果很好. (136认同)

Gen*_*nit 9

只需将此事件添加到文本字段即可.它会阻止按Enter键提交,您可以根据需要随意添加提交按钮或调用form.submit():

onKeyPress="if (event.which == 13) return false;"
Run Code Online (Sandbox Code Playgroud)

例如:

<input id="txt" type="text" onKeyPress="if (event.which == 13) return false;"></input>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.乐意效劳.无论如何,我从未成为众人瞩目的焦点.;) (2认同)

tom*_*man 7

一个主意:

<form method="POST" action="javascript:void(0);" onSubmit="CheckPassword()">
    <input id="pwset" type="text" size="20" name='pwuser'><br><br>
    <button type="button" onclick="CheckPassword()">Next</button>
</form>
Run Code Online (Sandbox Code Playgroud)

<script type="text/javascript">
    $("#pwset").focus();
    function CheckPassword()
    {
        inputtxt = $("#pwset").val();
        //and now your code
        $("#div1").load("next.php #div2");
        return false;
    }
</script>
Run Code Online (Sandbox Code Playgroud)


jsD*_*via 5

当你在表单中按Enter键时,表单的自然行为将被提交,为了阻止这种不自然的行为,你必须使用jquery阻止它提交(默认行为):

$("#yourFormId").on("submit",function(event){event.preventDefault()})
Run Code Online (Sandbox Code Playgroud)