当您在 jQuery 选择器中引用时,表单的 idactvpost
不应该是。form
actvpost
您的提交功能不应该return false
,而是应该使用event.preventDefault
:
$("#actvpost").submit(function( event ){
event.preventDefault();
// your code
});
event
对象_
event
在触发时,所有事件都被传递一个对象作为它们的第一个参数。此对象包含有关事件的许多有用属性,例如event.target
and event.type
(返回 click、keyup 等...)。jQuery 还使用有用的方法扩展了这个对象,例如preventDefault()
尽管没有必要,但我确实建议将event.preventDefault()
早期(如果不是首先)放在您的处理程序中。同样,这不是必须的,但如果您计划在未来编写更复杂的代码,这是一个很好的做法。组织是关键,一切都应该遵循某种共同的惯例。当您使用任何约定进行编码时,解决问题要容易得多,更不用说通用约定了。
本质上,如果没有新的 HTTP 请求,您将无法运行 PHP,因此,您可能希望在提交之前仅使用 javascript 验证,将服务器端验证作为最后一道防线。要将表单提交到您的 PHP 脚本,您需要:
- 使用 AJAX(jQuery 让这一切变得简单)
- 提交到 iframe,同时监听其“加载”事件以获取 Javascript 中的响应
两者都发出新的 HTTP 请求并在 javascript 中提供响应。