【问题标题】:Jquery Mobile +php form submit "data-ajax="false" not workingJquery Mobile +php 表单提交“data-ajax="false" 不起作用
【发布时间】:2016-05-25 22:46:23
【问题描述】:

也许这是一个愚蠢的问题,所以我不会写很多..

我有一个 index.php 文件,其中有两个 Jquery Mobile 页面,每个页面都有一个传递变量的表单,一个带有 php_self 的函数,它将数据插入 Mysql 表。每个表单都有一个表格,旁边有最新插入的数据。但是第一页的表格只刷新了,如果我使用第二页的表格,我需要按下浏览器的刷新按钮才能看到最新的数据。

有人建议我在表单标签中使用 data-ajax="false"。这有效,但网站丢失了 css 格式,因为它将页面重定向到一个奇怪的地址。 例如,原始地址是 mysite.com/index.php#page2 且 data-ajax="false" 将是 mysite.com//index.php#page2 或类似地址。 我使用最新的稳定 Jquery Mobile 和 CDN。 感谢您的回答。

【问题讨论】:

  • 这不清楚什么是错的或不工作。当您使用data-ajax="false" 时,表单数据会在不使用 AJAX 的情况下发布。因此,它很像人们在关注公共网页中的链接时所期望的。无论发布到什么页面,index.php 都需要为 jQuery Mobile 重新加载所有 CSS 和 JS 以保留样式和活动。在这种情况下,不要写太多会适得其反,因为我们需要更多信息来帮助您。
  • 您确实需要更好地澄清您的问题。包括表单的一些示例、javascript 和来自 php 目标的示例响应对象。听起来您的 javascript 可能只是引用了错误的 html 元素(重复的 ID?),或者您为两种形式使用相同的对象(为第二种形式配置覆盖第一种形式的配置 - 使用 new)。

标签: php jquery ajax forms mobile


【解决方案1】:

感谢有用的 cmets,因此我在您的帮助下找到了解决方案:

  1. 页面中有多个具有相同 id 的 div。我重写了它们。
  2. 表单没有自己的 ID,所以我添加了。
  3. 我在表单元素中添加了 data-ajax="false"。
  4. (!!!)我从表单元素中删除了action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"

所以一切都奏效了。我觉得 Jquery Mobile 和 Php5 真的不喜欢对方。

【讨论】:

    【解决方案2】:

    我有一个类似的问题,没有提交到 POST 数组。 Textarea 和 hidden 提交成功。当我从表单中删除元素时,所有变量都成功提交。疯了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 2019-01-03
      • 2015-07-29
      相关资源
      最近更新 更多