对于投票系统,人们会看到3个文本框。但他们可以手动添加文本框,以防他们想投票给更多的艺术家。但是这些文本框是使用以下代码通过Javascript动态创建的:
$(document).ready(function(){
var counter = 4;
$("#addButton").click(function () {
var newTextBoxDiv = $(document.createElement('div'))
.attr("id", 'TextBoxDiv' + counter);
newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' +
'<input type="text" name="textbox[]" id="textbox' + counter + '" value="" style="width:630px; height:30px; font-size:18px; opacity:0.9;" runat=server>');
newTextBoxDiv.appendTo("#TextBoxesGroup");
counter++;
if(counter==11){
document.getElementById('addButton').style.visibility='hidden';
document.getElementById('resetButton').style.position="absolute";
document.getElementById('resetButton').style.left="60px";
return false;
}
});
$("#removeButton").click(function () {
if(counter==1){
alert("No more textbox to remove");
return false;
}
counter--;
$("#TextBoxDiv" + counter).remove();
});
$("#getButtonValue").click(function () {
var msg = '';
for(i=1; i<counter; i++){
msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val();
}
alert(msg);
});
});
这些文本框在重定向到'confirm.php'但在confirm.php中生成的表单我无法从动态创建的文本框中获取值。
如何解决这个问题?
答案 0 :(得分:1)
也许您可以尝试将代码更改为以下代码,因为我想知道JQuery是否有问题:
BTW,after()
中的newTextBoxDiv.after().html
方法完全没用。
希望这可以提供帮助。
答案 1 :(得分:-2)
文本框需要定义“name”属性。