<form id="login_form">
<input type="text" name="forgot_email" placeholder="Email">
<button id="forgot_button" type="button">Send</button>
</form>
这是我的表格,它并不意味着发送到任何地方,而不是POST或GET,只是作为一个表格。 POST由我的jquery $ .post函数处理。 但是,当我在INPUT内部单击ENTER时,它就像对同一页面的GET一样。 URL更改为“localhost / xxx.php?forgot_email =”
这只发生在它只是一个输入字段时,而不是多个输入字段,但在这里我只想要一个输入字段而不是GET到同一页面......
这是解决这个问题的方法吗?我现在很困惑,这是简单的HTML。 (我的jquery没有错,当jquery被禁用时它的行为方式相同)
答案 0 :(得分:1)
使用提交按钮替换您的按钮,并将您的JavaScript绑定到表单的submit
事件,而不是按钮的click
事件。无论用户使用哪种方法触发表单,您的JS都会触发。
确保您提交事件prevent the default action,以便浏览器不会加载新页面。
答案 1 :(得分:0)
<form id="login_form" onsubmit="return false;">
<input type="text" name="forgot_email" placeholder="Email">
<button id="forgot_button" type="button">Send</button>
</form>
这样可以避免将表单发送到服务器。
答案 2 :(得分:0)
如果使用jquery $('button id or class').click(function(){return false;});
答案 3 :(得分:0)
您还可以考虑将输入包装在div
而不是form
中,因为您没有使用其中的任何功能。它还可以帮助您省去像Quentin建议的那样取消提交按钮的默认事件。