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。我该如何更改?如果我想添加前 5 个文本框和 3 个之后的文本框,如何从 1 到 8 进行编号。

4

2 回答 2

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 示例

于 2012-09-14T14:23:10.580 回答
0

把它放在你的 tbl.innerhtml 代码中......

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




';

于 2012-09-14T14:29:15.440 回答