在php中运行时添加Textfields

时间:2012-07-12 04:21:59

标签: php javascript ajax dynamic

我是php的新手,现在想,如何在运行时添加文本字段。我创建了一个带有简单下拉列表的php页面。下拉列表的编号为1,2,3,依此类推。我想要做的是,只要用户从下拉列表中选择一个数字,就会出现相同数量的文本字段(以及标签)。示例1文本字段为1(带标签),2个文本字段为2,依此类推。如果有人可以给我任何代码示例或链接来理解,这将非常有帮助。非常感谢:)

3 个答案:

答案 0 :(得分:2)

我会使用jquery,一个像Dagon建议的JavaScript库。 首先你的HTML:

<form>
  <input class="target" type="text" value="Field 1" />
  <select class="target">
    <option value="1" selected="selected">Option 1</option>
    <option value="2">Option 2</option>
  </select>
</form>
<div id="other">

</div>

然后你的javascript(使用jQuery):

$('.target').change(function() {
    $("select option:selected").each(function () {
        $('#other').append("<label>" + $(this).text() + "</label><input type='text' value='' />");
    });      
});

供您参考:

http://api.jquery.com/change/

http://api.jquery.com/append/

答案 1 :(得分:1)

您可以使用jQuery来帮助您。使用change()函数(http://api.jquery.com/change/)获取下拉列表值并创建另一个jQuery函数来填充文本字段。

本教程可能会帮助您http://charlie.griefer.com/blog/2009/09/17/jquery-dynamically-adding-form-elements/

答案 2 :(得分:1)

以下是你如何做到这一点:

<?php 
$num = 2; //get number input from user
for ($i = 0; $i < $num ; $i++) {
echo '<input type="text" />';
}
?>