2012-09-14 113 views
0

我有一個帶有文本框的窗體。在該文本框中,如果我輸入數字5然後點擊提交按鈕5文本框出現。這一切都在JavaScript中完成。下面是HTML代碼:按下按鈕後計算文本框

<form action="pag2.php" method="POST"> 
<table> 
<tr> 
    <td> 
     <span>Cate intrebari va contine chestionarul?</span> 
     <input type="text" id="nrintrebari"/> 
    </td> 
    <td> 
    <input type="button" value="Afiseaza intrebari" onclick="generate()"/> 
    <input type="submit" value="Save & Return"/> 
    </td> 
</tr> 
</table> 

<br><br> 

<div id="sim"> 

</div> 
</div> 
</form> 

,這是Javascript代碼:

function generate() 
{ 
    var tot = document.getElementById("nrintrebari").value; 
var tbl = document.getElementById("sim"); 

for(var i =1;i<=tot;i++) 
{ 
    tbl.innerHTML = tbl.innerHTML +'Intrebare nr.'+ i +' <input type="text" size = "150" maxlength= "200" name="intrebare[]" style="height:40px; background-color:#B8B8B8; " > <br><br><br> '; 
} 

} 

事情都很簡單。問題是,如果輸入值5,則出現5個文本框,並且它們的編號如下所示:1 2 3 4 5.如果我更改了數字並將3個其他3個文本框顯示出來,但它們又從1開始編號。所以我會有8個文本框,但編號是這樣的:1 2 3 4 5 1 2 3.我該如何改變?我怎樣才能使編號從1到8,如果我想添加前5個文本框和後3

+1

爲什麼不有一個隱藏的表單字段到目前爲止的文本框數量? – andrewsi

回答

1

增加其遞增for每次另一個變量:

var lastI = 0; 

function generate(){ 
    var tot = document.getElementById("nrintrebari").value; 
    var tbl = document.getElementById("sim"); 

    for(var i =1;i<=tot;i++){ 
     lastI++; 
     tbl.innerHTML = tbl.innerHTML +'Intrebare nr.'+ lastI +' <input type="text" size = "150" maxlength= "200" name="intrebare[]" style="height:40px; background-color:#B8B8B8; " > <br><br><br> '; 
    } 

}​ 

JSFiddle Example

0

把這個in your tbl.innerhtml code ....

tbl.innerHTML = tbl.innerHTML +'Intrebare nr。'+ parseInt($(「#sim」)。find(「input」)。length + 1)+ '




';