如何使用POST方法在另一个php文件中检索动态创建文本框的文本?



>我在单击某个按钮的事件上动态创建了一个文本框,现在我想从文本框中检索文本以显示在另一个 php 表单页面上。 以下是我的 html 代码,我将名称分配给动态创建的文本框"c1""c2""c3"

<script>
$(document).ready(function(){
$("#t11, #t12").click(function(){
var div = $("<div />"); 
div.html(GenerateTextbox("","c1"));
$("#TextBoxContainer").append(div);
var div = $("<div />");
div.html(GenerateTextbox("","c2"));  
$("#TextBoxContainer").append(div);
var div = $("<div />");
div.html(GenerateTextbox("","c3")); 
$("#TextBoxContainer").append(div);
});
});
function GenerateTextbox(value,name1) {
console.log(name1);
return '<input name = "'+ name1 + '" type="text" value = "' + value + '" /> ';} 
</script>

我在另一个文档中的 php 代码:

<td>
<input type="<?php echo $_POST["t1"];?>"> <?php echo $_POST["c1"];?> 
<input type="<?php echo $_POST["t1"];?>"><?php echo $_POST["c2"];?>
<input type="<?php echo $_POST["t1"];?>"><?php echo $_POST["c3"];?>
</td>

当第二个 php 页面被定向到时,它说c1c2c3是未定义的索引。其他一切正常,但我无法将此信息从一页获取到另一页。

请帮忙!

完整格式的 html:

<table align="center">
<form action="output.php" method="post">
<tr> 
<td>
Background color of page:<br/>
</td>
<td>
<input id="ex" type="color" name="bgcol" id="nbg">
</td> 
</tr>
<tr> 
<td>
Name of form:
</td>
<td>
<input type="text" name="titleform" id="titleform">
</td>
</tr>
<tr> 
<td>
Font size:
</td>
<td>
<input type="text" name="fontsize" id="fontsz">
</td>
</tr>
<tr> 
<td>
Font:
</td>
<td>
<input type="text" name="fontt" id="nbg">
</td>  
</tr>
<tr> 
<td>
Font color:
</td>
<td>
<input id="ex"type="color" name="fontt" id="nbg">
</td>  
</tr>
<tr> 
<td>
Background color of form:<br/>
</td>
<td>
<input id="ex" type="color" name="bgcolor" id="nbg" value="#FFFFFF">
</td>   
</tr>
<tr> 
<td>
Input #1:
</td>
<td>
<input type="text" name="input1" id="nbg">
</td>     
<td>
Type:
</td>
<td>
<select name="t1" id="t1">
<option>text</option>
<option id="t11">radio</option>
<option id="t12">checkbox</option>
</select>
</td>
<td>
<div id="TextBoxContainer">  
<!--Textboxes will be added here -->  
</div>
</td>
<tr> 
<td>
Input #2:
</td>
<td>
<input type="text" name="input2" id="nbg">
</td>  
<td>
Type:
</td>
<td>
<select name="t2">
<option>text</option>
<option id="t21">radio</option>
<option id="t22">checkbox</option>
</select>
</td>  
<td>
<div id="TextBoxContainer2">  
<!--Textboxes will be added here -->  
</div>
</td>
</tr>
<tr> 
<td>
Input #3:
</td>
<td>
<input type="text" name="input3" id="nbg">
</td>  
<td>
Type:
</td>
<td>
<select name="t2">
<option>text</option>
<option id="t31">radio</option>
<option id="t32">checkbox</option>
</select>
</td>
<td>
<div id="TextBoxContainer3">  
<!--Textboxes will be added here -->  
</div>
</td>
</tr>
<tr> 
<td>
Input #4:
</td>
<td>
<input type="text" name="input4" id="nbg">
</td>
<td>
Type:
</td>
<td>
<select name="t4">
<option>text</option>
<option id="t41">radio</option>
<option id="t42">checkbox</option>
</select>
</td>  
<td>
<div id="TextBoxContainer4">  
<!--Textboxes will be added here -->  
</div>
</td>
</tr>
<tr> 
<td>
Input #5:
</td>
<td>
<input type="text" name="input5" id="nbg">
</td>   
<td>
Type:
</td>
<td>
<select name="t5">
<option>text</option>
<option id="t51">radio</option>
<option id="t52">checkbox</option>
</select>
</td>
<td>
<div id="TextBoxContainer5">  
<!--Textboxes will be added here -->  
</div>
</td>
</tr>
<tr>
<td>
<button type="submit" name="Create_form" id="form2" value="submit" onclick="return check()"> >Submit
</button>   
</td>
</tr>
</form>
</table> 

您需要将div附加到 DOM,尤其是作为form的子元素。否则,<input>永远不会得到POST编辑。

$("#myForm").append(div);

另外,由于您首先使用 jQuery 来操作您的div 和表单,我建议您继续使用 jQuery 来构建内部input,而不仅仅是在GenerateTextbox函数中提供内部 HTML。

最新更新