使用/不使用Javascript表单提交使用ajax或普通表单操作

时间:2013-06-18 00:19:10

标签: php javascript ajax

我目前正在使用表单操作向php脚本提交表单,我也将实现ajax表单提交。

但是我想到了一个想法,知道客户端的浏览器是启用了javascript还是禁用了并且相应地提交表单并不是很好,因为我不希望no-javascript用户查看显示的页面“启用Javascript或其他东西”!因为我已经使用了客户端和服务器端验证。

那么,我怎么知道客户端有javascript并让他通过ajax提交表单,反之亦然?

我发现许多QA与将用户重定向到“禁用Javascript”的页面有关,他们主要讨论标签。

我很感激听到你们和你的建议。谢谢你:)

2 个答案:

答案 0 :(得分:2)

使用带有submit按钮的表单。

在你的javascript脚本中放置一个处理程序,并调用preventDefault函数让你的ajax代码完成这项工作。

因此,如果启用了javascript,它将使用ajax提交。如果没有,它将以默认方式提交。

编辑:

这是一个jsfiddle来说明它:http://jsfiddle.net/CTwx2/

基本上,提交按钮的默认行为是将数据发送到表单标记中指示的地址。

使用javascript&中定义的处理程序jquery,你停止这种行为并通过ajax请求自己发送数据(http://api.jquery.com/event.preventDefault/

答案 1 :(得分:1)

您必须拥有2个版本的网站,并使用相应的方式重定向:

<noscript>
  <meta http-equiv="refresh" content="0;url=noscript.html">
</noscript>

将您的表单包裹在<noscript>标记中,如果启用了javascript,请停用该表单 -