簡體   English   中英

使用Javascript和CodeIgniter動態添加HTML字段

[英]Dynamically adding HTML fields with Javascript and CodeIgniter

在過去的幾個小時中,我一直在為此遇到很多麻煩,但我真的不知道問題出在哪里。 我在Internet上找到的每個代碼段都告訴我我做得對,但是由於某種原因,沒有任何效果。

基本上,我有一個表單,要求根據需要的字段數來動態添加字段。 我的JavaScript可以正常工作:

    function ajouterStagiaires()
    {
    var innerHTML = new String();
    innerHTML = document.getElementById('stagiaires').innerHTML;
    var nombreStagiaires = document.getElementById('nbStagiairesConnus').value;

    innerHTML += "<tr><td><b>Nom </b></td><td><b>Matricule</b> </td></tr>";
    for(var i=0;i<nombreStagiaires;i++)
    {
        innerHTML += "<tr><td><input type='text' name='noms[]' /></td><td><input type='text' name='matricules[]' /></td></tr>";
    }
    document.getElementById('stagiaires').innerHTML = innerHTML;
    document.getElementById('nbStagiairesConnus').value = nombreStagiaires;

}

這些字段已正確添加到頁面中,但是當我轉到PHP代碼時,不會“檢測到”在名詞和矩陣上完成的$ _POST(是的,我在網頁的字段中輸入了內容)。

if (isset($_POST['matricules']))
{
  echo "foo";
}

永遠不會打印“ foo”。 我已經解決了大多數常見錯誤:我添加的字段以以下形式出現(CodeIgniter的回聲form_open_multipart('foobar');)。 表單中的所有其他字段都可以正常工作。

我唯一能看到的是CodeIgniter遇到了JavaScript或某種類型的問題(盡管我不知道為什么會出現問題……),但除此之外,我完全感到困惑。

提前致謝。

在您要添加輸入字段的javascript中,也要輸入一個值=”。

innerHTML + = ...“ input type ='文本'name ='noms []'value =” ..

在您的CI控制器中,嘗試以下操作:

$ matricules [] = $ this-> input-> post(“ matricules”);

if(is_array($ matricules))print_r($ matricules);

這應該漂亮地打印從表單傳遞的值數組。

干杯,

使用FireBug檢查源代碼,並驗證是否將字段實際添加到了您想要的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM