如何使用jquery从动态表单发送一些数据?

时间:2011-06-05 10:57:02

标签: jquery

我正在尝试将动态生成的cheboxes(勾选时)的数据发送到我的php脚本,然后发送到mysql数据库。我有类似的东西:


form method="post" id="form">
<input type="checkbox" id="1" name="tick">
<input type="checkbox" id="2" name="tick">
<input type="checkbox" id="3" name="tick">
<input type="checkbox" id="4" name="tick">
<input type="checkbox" id="5" name="tick">
<input type="checkbox" id="6" name="tick">
</form>

(复选框的数量不是常量!)


$(document).ready(function(){
 $("form#form").check(function() {
  var achieved = $('input[check]');
  var id = $('input[id]');

  var data = 'achieved=' + achieved.val() + '&amp;id=' + id.val();

  $.ajax({
   type: "POST",
   url: "change.php",
   data: data,
   success: function(){
    $('div.changed').fadeIn(400);
    setTimeout(function(){ $("div.changed").fadeOut(400) }, 4000);
   }

  });
  return false;
 });
});

我错了什么?

1 个答案:

答案 0 :(得分:0)

您需要提供可在服务器端检查的复选框元素值(value="something")。

您也可以使用serialize()方法创建参数字符串,而不是手动执行。

您现在的行为方式肯定不起作用,因为您的achieved变量与您的任何元素都不匹配(您的意思是:checkbox?)和id将匹配所有,因此val()只返回第一个value,但未在您的示例中设置。

另外,如果您的意思是&amp;,请不要使用&。编码实体仅在HTML中有意义。

我也确定jQuery中没有check()方法。你在使用插件吗?