jQuery表单序列化Code​​Igniter中缺少的数据

时间:2013-01-21 07:31:02

标签: php javascript forms codeigniter jquery

我在我的视图页面中有一个表单.....因为我想通过jquery或ajax发送数据,因为我不想重新加载或刷新页面。我通过jquery序列化发送数据..但所有字段都没有通过序列化提交..这里第一个下拉列表,这是“供​​应商”是空的..意味着jquery序列化没有捕获他的价值,我认为可能有同样的情况其他人......为什么会这样......我的观点页面 我的表单名称和ID是“表单”

  <?php  echo form_open('stockInController/addStockIn', $attributes);?>

 <!-- Supplier -->


Select a Supplier

 <select name="sup_id" id="sup_id" class='cho'>
  <option id="y" value="0">--Select--</option>
  <?php foreach($records1 as $r) { ?>
  <option value="<?=$r->sup_id?>">
   <?=$r->sup_name?>
  </option>
  <?php } ?>
  </select>

<!-- end of Supplier -->



     Date:<?php echo form_input($date); ?>
     Bill No: <?php echo form_input($bill_no); ?>




 <table>
  <tr>
   <th>Category:</th>
   <th>Items:</th>
   <th>Selling Price:</th>
   <th>quantity:</th>
   <th>total:</th>
  </tr>

        <?php for ($i = 0; $i < 5; $i++) { ?>
  <tr>
      <td>
         <?php echo form_dropdown ('cat_id'.$i,   $records2,'#',     "id='category_".$i."'onchange='getItems(this.value,".$i.")' ");?>
   </td>




       <td> <?php echo form_dropdown('item_id'.$i, $records3, '#',    "id='items_".$i."'"); ?>

   </td>




<td> <input type="text" name = "price_<?php echo $i ?>" id = "price_<?php echo $i  ?>"    echo "$i"?>)'>
   </td>

     <td><input type="text" name = "quantity_<?php echo $i ?>"
                           id = "quantity_<?php echo $i ? >"  echo "$i"?>)'>
   </td>

   <td><input type="text"name = "total_<?php echo $i ?>" id = "total_<?php echo $i ?>">
   </td>
  </tr>


  <?php }?>

  <tr>

      <td>
    <?php echo form_button($button); ?>
    <?php form_close();?>
   </td></tr>

这是我的jquery函数

     $('#btn').click(function(event) {
    form = $("#form").serialize();

  $.ajax({
    type: "POST",
    url: "<?php  echo site_url('stockInController/addStockIn'); ?
    data: form,

    success: function(data){
   alert("true");

    }

  });
  event.preventDefault();
  return false;

}); 

1 个答案:

答案 0 :(得分:1)

首先确保您正在捕获表单对象。尝试使用id。

捕获表单
 <?php  echo form_open('stockInController/addStockIn', "id = 'form_id'");?>

使用JQuery

var form = $('#form_id').serialize();

在javascript中定义变量也需要缺少VAR关键字。 你在网址

中缺少的第三件事
url: "<?php  echo site_url('stockInController/addStockIn'); ?>"