提交一个在同一页面上的表单,而不重新刷新页面
submit a form that is on the same page without refeshing the page
所以这是一场令人困惑的战斗。我想提交一份在同一页上的表格作为我的php验证。
html
<form id="form">
//fields
<input type="submit" id="submit">
</form>
<?php
/ /check if form is good
?>
jquery
$("#actvpost").submit(function(){
//code
return false;
});
当我点击提交时,页面仍然刷新,我怎么能让它只发送数据而不发送使用外部页面
我可以在没有jquery的情况下完成,但它会刷新页面,我想将jquery附加到它,这样它就不会刷新页面。
表单的id应该是actvpost
而不是form
,因为您在jQuery选择器中引用了actvpost
。
您的提交函数不应该是return false
,而应该使用event.preventDefault
:
$("#actvpost").submit(function( event ){
event.preventDefault();
// your code
});
event
对象
在触发器上,所有事件都会传递一个event
对象作为它们的第一个参数。该对象包含许多关于事件的有用属性,如event.target
和event.type
(返回click、keyup等)。jQuery还使用有用的方法扩展了该对象,如preventDefault()
虽然没有必要,但我确实建议尽早将event.preventDefault()
放在处理程序中,如果不是第一个的话。同样,这不是必须的,但如果您计划在未来编写更复杂的代码,这是一个很好的实践。组织是关键,一切都应该遵循某种共同的惯例。当使用任何约定进行编码时,解决问题要容易得多,更不用说通用约定了。
本质上,如果没有新的HTTP请求,您就无法运行PHP,因此,您可能希望在提交之前仅使用javascript验证,服务器端验证是最后一道防线。要将表单提交到您的PHP脚本,您可能需要:
- 使用AJAX(jQuery使其变得简单)
- 提交到iframe,同时在其"加载"事件上侦听Javascript中的响应
这两种方法都会生成一个新的HTTP请求,并以javascript提供响应。
可能:
$("#actvpost").submit(function (event) {
event.preventDefault();
// here you may by your self send request and get response
});
也许您会使用类似jQuery Form插件的东西,并使用ajaxForm
函数。
替换:
<form id="form">
带有:
<form id="actvpost">
- Jquery提交表单而不刷新
- 单击表单中的按钮会导致页面刷新
- 停止刷新表单,但要发布
- 如何刷新表单的yii2前端验证
- 刷新<表单>送审不起作用
- 阻止 jquery 移动刷新表单提交
- Javascript AppendChild 自动刷新表单
- 我需要刷新表单,但仍然保持复选框的值不变
- CRM 2013:刷新表单或通过浏览器的后退按钮向后导航时出现奇怪的行为
- 如何在表单提交到_blank后刷新表单页面
- CRM 2013:保存后强制刷新表单
- 停止刷新表单
- 使用jQuery Mobile刷新表单页面
- 如何停止随机生成的数字从刷新表单提交
- 提交parse.com后刷新表单
- 提交后,刷新表单页面上的感谢信息
- 在提交时停止自动刷新表单
- 刷新表单结果而不刷新页面
- 在不刷新表单的情况下调用锚链接单击事件上的标记库
- 刷新表单提交不工作