2012-07-24 18 views
0

我通過調用外部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.. 從所有字段中的數據不會對數據庫..

+0

記住序列化已經完成..我試過了一個動態的div id爲新的字段沒有工作 – harry 2012-07-24 09:03:16

+0

嘿檢查你的表單elements.are你給他們動態ID ..? – 2012-07-24 09:12:34

+0

不在代碼..但我已經試過 – harry 2012-07-24 09:18:05

回答

0

如果我理解正確的話,似乎有些表單元素是通過jQuery實時創建的。這些內容不會被髮布,因爲它們不是原始源代碼的一部分,而是稍後添加的。

使用on()來獲取在飛行中創建的字段。 您的參數將是'click',buttonid,下一個靜態父按鈕。

+0

我沒有在這裏使用jquery ..這將需要完全重新洗牌.. 順便說一句..從最後一行可能在飛行生成的行的數據完美張貼..但最後一行之前的任何數據不張貼.. – harry 2012-07-24 09:17:49

+0

爲什麼問題在初始響應後變得過時..沒有人其他嘗試回答相同的.. – harry 2012-07-28 05:14:52

相關問題