【问题标题】:Submitting old PHP form via AJAX/jQuery?通过 AJAX/jQuery 提交旧的 PHP 表单?
【发布时间】:2013-12-26 10:58:17
【问题描述】:

我不确定这是否可行,但可以将 ajax 添加到旧的普通 php 表单中,还是需要新建/重新构建?

我有一个表单,所有正确的字段和反垃圾邮件都已设置,但需要通过 ajax/无页面加载提交..

php form code here...

我不知道有多复杂,甚至可能,如果不是,我将不得不尝试使用教程从头开始构建一个新的,但我发现没有一个似乎有反垃圾邮件。

【问题讨论】:

  • 是的,你可以。旧表单仍然可以在没有激活 JavaScript 的浏览器上使用。
  • 我认为您需要拆分代码。表单和 AJAX 在 1 个文件中发布到 PHP 文件,其中包含您的 PHP 代码。
  • 基本上是提交表单,它出现在一个长页面的底部,目前它提交一切正常,但加载页面并因此跳回顶部......

标签: jquery ajax contact-form


【解决方案1】:

您可以通过 AJAX 提交。这是答案的简短版本:

而不是设置这个:action='',您需要将其发布到 Javascript 表单处理程序,该处理程序在后台提交表单并返回响应。如果您使用jQuery,这很容易,因为您可以使用$.ajax() 提交数据。 更新:@Reigel 的回答显示了从哪里开始。

查看 API:http://api.jquery.com/jQuery.ajax/

因此,您将更改action='' 和表单的响应,方法是使用以下方法检查XHRhttp://davidwalsh.name/detect-ajax ...这是对PHP 代码最重要的更改。您需要返回 JSON 响应或您的客户端 JavaScript 可以关闭的内容,以了解下一步该做什么。

【讨论】:

  • 谢谢,我看看能不能弄明白。
  • 如果你特别喜欢AJAX,你会想把MVC作为一种设计模式。这就是模型-视图-控制器模式。这会深刻地改变你的应用程序,但从长远来看,这将是一条路。为未来考虑。
【解决方案2】:

这是一个开始......

$('#oldFormId').on('submit',function(e){
   e.preventDefault(); // stops the page from loading...
   // do the ajax thing here.. visit http://api.jquery.com/jQuery.ajax/
})

【讨论】:

    猜你喜欢
    • 2011-04-21
    • 2012-03-22
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多