2013-01-21 57 views
0

我在我的視圖頁面中有一個窗體.....因爲我想通過jquery或ajax發送數據,因爲我不想重新加載或刷新頁面。我通過jquery序列化發送數據..但所有的字段都沒有通過序列化提交..這裏第一個下拉是「供應商」是空的..意味着jquery serialize沒有捕獲他的價值,我認爲可能有相同的情況別人休息..爲什麼會這樣..here是我的看法頁 我的表單名稱和ID是「形式」在CodeIgniter中缺少jQuery窗體序列化數據

<?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

首先確保你捕捉表單對象。嘗試使用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'); ?>" 
+0

...謝謝。 – mynameisjohn