2014-10-30 51 views
1

我想在點擊一個按鈕時在表格中動態生成一行文本框。例如,我有一個表來輸入列表項目。當我點擊添加按鈕時,新行是插入表中。可以請幫助我。我正在使用php和codeigniter ..在php和codeigniter中生成文本框

愚蠢是我用於生成行的腳本。

<SCRIPT language="javascript"> 
function changeIt() 
{ 
var i = 1; 
my_div.innerHTML = my_div.innerHTML +"<br><input type='text' name='mytext'+ i>" 

i++; 
} 
</SCRIPT> 

<table align="center" name="table"> 
<tr> 
<td>Code</td> 
<td>Name</td> 
<td>Quantity</td> 
<td>Price</td> 
<INPUT type="button" value="Add" onclick="changeIt()"/> 
</tr> 
</table> 
<div id="my_div"> 
<table> 
<tr> 
<td></td> 
</tr> 
</table> 

這一次只能生成一個文本框。我需要在一行中顯示更多的文本框?

+0

你有什麼到目前爲止已經試過? – 2014-10-30 04:25:40

+0

我現在將發佈代碼。 – Ravi 2014-10-30 04:29:53

+0

我在這裏粘貼了代碼作爲答案。 – Ravi 2014-10-30 04:36:36

回答

0

試試這個(新代碼)

<SCRIPT language="javascript"> 
var i = 1; 
function changeIt() 
{ 
    var my_div = document.getElementById("my_div"); 
    var row = "<tr> <td> <input type='text' name='mycode_"+i+"'></td><td><input type='text' name='myname_"+i+"'></td><td><input type='text' name='myquantity_"+i+"'></td> <td><input type='text' name='myprice_"+i+"'></td> </tr>"; 
    my_div.innerHTML = my_div.innerHTML +row; 
    i++; 
} 
</SCRIPT> 

<table align="center" name="table" id="my_div" border="2"> 
<tr> 
<td>Code</td> 
<td>Name</td> 
<td>Quantity</td> 
<td>Price</td> 
<INPUT type="button" value="Add" onclick="changeIt()"/> 
</tr> 
</table> 
+0

試過這個,但不幸的是現在不顯示任何文本框。 – Ravi 2014-10-30 04:53:53

+0

是否因爲我的html代碼錯誤?

Ravi 2014-10-30 04:56:51

+0

是的,你必須在腳本中定義my_div,我忘了在上面寫下它。請添加此代碼 var my_div = document.getElementById(「my_table」); //這個表格 – 2014-10-30 05:00:12