【问题标题】:Ajax form submission with not workingAjax 表单提交不工作
【发布时间】:2013-07-31 22:13:30
【问题描述】:

这是我一直在研究的小提琴:http://jsfiddle.net/DW3UM/2/

.highlight {border:1px solid #4f67f5;color:red;}
.res-msg-wr {display:none;}

这是(如您所见)一个联系表格,我认为我已经做了一切正确的工作以使其工作......但不知何故它不能以正确的方式工作......

(1)验证不起作用...虽然我几乎复制了代码但它应该可以工作..虽然它没有

(2) process.php 文件甚至不起作用(讽刺).. 相同的联系表格在我的其他网站上也可以工作......但我正试图将它合并到一个新的......令人惊讶的是似乎没有以正确的方式运行......如果我将值放入表单中,它不会加载成功消息......如果我将其中一个字段留空并填写其中一个输入......它仍然显示有关每个输入的错误消息..我已经提供了小提琴中的所有内容...任何帮助将不胜感激...

【问题讨论】:

  • 您希望在哪里进行验证,前端还是 PHP?顺便说一句,我建议将此问题的 PHP 部分删除为一个单独的问题。您还没有显示 php,因此无法知道它的验证是如何不起作用的。
  • 我把它包括在小提琴里..对不起..我只是一个新手
  • 这里是更新的链接jsfiddle.net/DW3UM/3
  • 我希望首先在客户端进行验证...如果他以某种方式绕过它...然后作为服务器端的安全原因
  • 我们曾经都是新手。如果您没有使用表单的本机提交功能(即您在 JavaScript 中执行此操作),那么您将在使用表单及其提交按钮时遇到问题(无论您的 JavaScript 是什么,它都会提交)。尝试改用普通按钮。您可以摆脱 HTML 中的表单概念。

标签: php javascript ajax validation jquery


【解决方案1】:

这个

$.noConflict();
$(document).ready(function() {

不起作用。 $.noConflict(); 删除了 jQuery 对象的 $ 别名,因此它不能用于绑定到 ready 事件。

要么删除 noConflict 调用,要么将 $ 的所有实例替换为 jQuery

还要确保您的所有输入都具有名称属性。在小提琴中他们失踪了。

【讨论】:

  • @Majid 你的小提琴中没有包含 jquery
  • @Majid 为输入元素添加名称属性。答案已更新
【解决方案2】:

return false 执行以下操作:

event.preventDefault(); event.stopPropagation(); 停止回调执行并在调用时立即返回。

http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/

还有: GET 请求的 URL 中的第一个变量应该以 ?不是 & '&name=' 应该是 '?name='

您的小提琴似乎不包含 jQuery 库。

【讨论】:

  • 你能发布修改后的代码吗......拜托......因为我还是 js.. 和 php 的新手......顺便说一句,这是更新后的小提琴:jsfiddle.net/DW3UM/4
猜你喜欢
  • 1970-01-01
  • 2011-11-18
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
  • 2013-10-28
  • 1970-01-01
  • 2011-02-12
相关资源
最近更新 更多