【问题标题】:Ajax form submit, can't figure out why it doesn't workAjax表单提交,无法弄清楚为什么它不起作用
【发布时间】:2012-07-09 14:50:37
【问题描述】:

有人知道为什么这不起作用吗?这个序列化的唯一数据是第 1 页的数据。我还尝试将两个不同的函数链接到每个页面(我将它作为 2 个单独的表单,尽管这样它只会覆盖彼此(以及其他所有内容)。

<script type="text/javascript">
 $(document).ready(function(){
  $("#submit").click(function(){
   $("#page3").text($("#q").serialize());
  });
});
</script>
</head>
<body>
 <div data-role="page" id="page1">
   <form id="q">
    <div data-role="content">
     <input type="checkbox" name="4[]" value="1">1</input><br/>
     <input type="checkbox" name="4[]" value="2">2</input><br/>
     <input type="checkbox" name="4[]" value="3">3</input><br/>
     <input type="checkbox" name="4[]" value="4">4</input><br/>
     <input type="checkbox" name="asdf[]" value="1">1</input><br/>
     <input type="checkbox" name="asdf[]" value="2">2</input><br/>
    </div>
    <a data-role="button" href="#page2">Next</a>
 </div>

 <div data-role="page" id="page2">
  <div data-role="content">
   <input type="checkbox" name="3[]" value="11">11</input><br/>
   <input type="checkbox" name="3[]" value="21">21</input><br/>
   <input type="checkbox" name="adf[]" value="1">11</input><br/>
   <input type="checkbox" name="adf[]" value="2">12</input><br/>
  </div>
 </form>
 <a data-role="button" type="submit" href="#page3" id="submit">Next</a>
</div>

<div data-role="page" id="page3">
</div>

【问题讨论】:

  • 我认为必须在文档层次结构中正确放置(打开和关闭)表单标签。
  • 也许它适用于
    之外的表单?

标签: html ajax forms serialization submit


【解决方案1】:

因为所有的复选框都没有被选中 ,试试this

【讨论】:

  • 我试过检查全部/一半/无,这里唯一的区别是我将投票分为两个“页面”,并且没有任何 onClick 功能。重点是收集数据并将其传递给 .php 脚本,该脚本会将数据插入 MySQL 数据库,当我无法一次提交时很难。
  • 您是否使用jquerymobile 来分隔页面?
  • 是的,这会导致问题吗?
  • hmmm 我认为您应该对每页进行序列化,声明一个全局变量,每次更改页面时,序列化当前页面,并将其存储/连接到全局变量中
  • 我正在尝试制作 1 个可用于每个页面的 ajax 函数。然后获取该数据并通过 php 将其存储到我的会话中。
【解决方案2】:

您的问题可能与您如何将第一个表单与外部 div 交错有关 - HTML 中不允许,不确定浏览器会如何处理。你能在 div 中关闭你的第一个表单,在第 2 页 div 中创建一个新表单吗?

【讨论】:

  • 我可以,尽管我似乎无法同时从他们两个那里获取信息,但如果我将它发送到可以将其存储到我的会话中的 .php 脚本,也许它会起作用$_SESSION[question]How to Answer 或类似的东西(无论如何这是目标),只是很难将所有这些信息都包裹在我的脑海中。比如如何“反序列化”等。但最好的办法是一次提交整个表单(分为页面),没有办法解决这个问题?
  • 不应该是中间的那个链接。应该像 $_SESSION[$question][$answer]
猜你喜欢
  • 2021-05-29
  • 1970-01-01
  • 2014-12-08
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-22
相关资源
最近更新 更多