0

我的视图页面中有一个表单.....因为我想通过 jquery 或 ajax 发送数据,因为我不想重新加载或刷新页面。我正在通过 jquery serialize 发送数据..但是所有字段都没有通过 serialize 提交..这里的第一个下拉列表是“供应商”是空的..意味着 jquery serialize 没有捕获他的值,我认为可能存在相同的情况其他人..为什么会这样..这是我的视图页面我的表单名称和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;

}); 
4

1 回答 1

1

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

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

使用 jQuery

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

在 javascript 中定义变量还需要您缺少的 VAR 关键字。您在 url 中缺少的第三件事

url: "<?php  echo site_url('stockInController/addStockIn'); ?>"
于 2013-01-21T07:46:49.520 回答