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 に答える