来自所有动态生成的输入字段的数据不会转到数据库

时间:2012-07-24 09:01:19

标签: php javascript mysql javascript-events

我通过调用外部php函数重新生成输入字段,该函数使用ajax函数生成这些字段,但save函数不保存来自所有字段的数据,但只将最后一行的数据保存到数据库。

用于重新生成这些字段的ajax函数的代码如下所示

var counter = 0;    
function loadfields_addmore(checked)
{
$jd.ajax({
  url: "<?php echo JURI::root(); ?>",
  type: "POST",
  data: {'option':'com_joomd', 'view':'itempanel', 'task':'loadfields', 'typeid':<?php echo $this->cparams->typeid; ?>, 'catid[]':checked, 'id':<?php echo (int)$this->item->id; ?>, "<?php echo jutility::getToken(); ?>":1, 'abase':1}
    });
}

用于触发保存过程的保存按钮

function save(task) {
var data = $jd("form[name='<?php echo $array['editform']; ?>']").serializeArray();
$jd.ajax({
      url: "<?php echo $url; ?>",
      type: "POST",
      dataType:"json",
      data: data
});
}

实际保存功能如下:

function store()
{
    foreach($post['cats'] as $cat)  {

    $query = 'insert into #__joomd_item_cat values('.$cat.', '.$row->id.')';
    $this->_db->setQuery( $query );
}
}

图片显示表单.. As shown in the attachment.. 来自所有字段的数据不会进入数据库..

1 个答案:

答案 0 :(得分:0)

如果我理解正确,似乎有些表单元素是通过jQuery动态创建的。这些不会发布,因为它们不是原始源代码的一部分,但稍后会添加。

使用on()获取即时创建的字段。 您的参数将是“click”,buttonid,按钮的下一个静态父级。