我希望在用户点击提交后显示用户输入的文本框中的值。
在页面中,我添加了一个按钮"添加文本框"这使得用户可以自己添加文本框,最多可以添加10个文本框。
这是我目前的代码
$(document).ready(function() {
var counter = 2;
$("#addButton").click(function() {
if (counter > 10) {
alert("Only 10 textboxes allow");
return false;
}
var newTextBoxDiv = $(document.createElement('div')).attr("id", 'TextBoxDiv' + counter);
newTextBoxDiv.after().html('<label>Textbox #' + counter + ' : </label>' + '<input type="text" name="textbox' + counter + '" id="textbox' + counter + '" value="" >');
newTextBoxDiv.appendTo("#TextBoxesGroup");
counter++;
});
$("#removeButton").click(function() {
if (counter == 2) {
alert("System required at least one.");
return false;
}
counter--;
$("#TextBoxDiv" + counter).remove();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form action="<?php $_PHP_SELF ?>" method="post">
<div id='TextBoxesGroup'>
<div id="TextBoxDiv1">
<label>Textbox #1 :</label>
<input type='textbox' id='textbox1' name="textbox1">
</div>
</div>
<input type='button' value='Add Button' id='addButton'>
<input type='button' value='Remove Button' id='removeButton'>
<br/>
<input type="submit" name="submit" id="submit">
</form>
&#13;
现在,当用户使用php点击提交按钮时,我想显示文本框中的所有值。
点击提交后,这个for循环没有显示任何内容
<?php
if(isset($_POST['submit'])) {
for($i = 1; $i< 10; $i++)
{
if(isset($_POST['textbox'+$i]))
{
$obj = $_POST['textbox'+$i];
echo $obj;
}
}
}
?>
有没有办法让php检查文本框是否存在或检查当前表单中有多少文本框?
答案 0 :(得分:1)
要检查php是否存在文本框,请使用:
if(isset($_POST['textboxn']))
{
}
您还可以在一个循环中检查每个文本框
for($i = 0; i< 10; i++)
{
if(isset($_POST['textbox'+i]))
{
}
}
答案 1 :(得分:0)
将此替换为以下表单标记
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
对于迭代文本框,使用for循环
if ($_SERVER["REQUEST_METHOD"] == "POST") {
for($i = 1; $i <= 10; $i++)
{
if(isset($_POST['textbox'+$i]))
{
}
}
}