テキストボックスのあるフォームがあります。たとえば、そのテキスト ボックスに 3 を入力すると、Javascript で作成した 3 つのテキスト ボックスが表示されます。
これはhtmlコードです:
<span>Cate intrebari va contine chestionarul?</span>
<input type='text' id='nrintrebari'/>
</td>
<td>
<input type='button' value='Creaza intrebari' onclick='generate()'/>
<input type='button' value='Save' id='btn_intrebari'/>
</td>
</tr>
</table>
<br><br>
<div id='sim'>
</div>
これは、テキスト ボックスを作成する JavaScript コードです。
var a=0;
function generate()
{
var tot = document.getElementById("nrintrebari").value;
var tbl = document.getElementById("sim");
for(var i =1;i<=tot;i++)
{
a++;
tbl.innerHTML = tbl.innerHTML +'Intrebare nr.'+ a +' <input type="text" size="100" maxlength= "200" name="intrebare[]" style="height:30px; background-color:#B8B8B8; " > <br><br><br> ';
}
}
テキスト ボックスから php ファイルにデータを渡したい場合は、次のように foreach を実行します。
foreach($_POST['intrebare'] AS $textbox)
{
$sql="INSERT INTO intrebari values ('','".$_SESSION['cod']."','$textbox','1')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
}
すべて問題ありませんが、これはページの更新で行われます。ページを更新せずにこれを行いたいので、Ajax を使用することにしました。このような:
$(document).ready(function () {
$('#btn').click(function () {
$.ajax({
type: "POST",
url: 'pag1.php',
data: "intrebare[]=" + $('#intrebare[]').val(),
success: function (data) {
$('#status').html(data);
}
});
});
});
Javascriptコードで配列として名前を付けて宣言したテキストボックスの名前を使用しています:intrebare []ですが、ボタンを押しても何も起こりません。テキストボックスをシンプルに宣言すると、配列とは異なり、intrebare として値が渡されます。配列のように Ajax 経由でデータを送信するにはどうすればよいですか?