单击按钮时如何显示文本字段?

时间:2014-08-22 15:56:01

标签: php mysql forms

我正在尝试创建一个只显示一个文本字段和一个按钮的表单,但是当我们点击该按钮时,它会再显示一个文本字段和一个按钮,当我们点击该按钮时它会显示三个文本字段和一个按钮,这个最新的按钮将提交表单....是否可能?.....如果它然后请指导我....这是我的代码......

<div id="envelope">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<center><h1>Edit an existing generic drug</h1></center><br>
<label>Generic Drug Name</label>
<select name = "position" type = "option">
<?php 
$query = "SELECT * FROM brand_generic.generic_drug WHERE 1";
$result =  mysqli_query($connection, $query);
if(!$result){
    die("Database query failed.");
}?><?php
while ($row =  mysqli_fetch_assoc($result)) {?>
     <option value = "<?php echo $row['generic_drug_name'] ?>"
     <?php echo((isset($_POST['position']) && $_POST['position'] == $row['generic_drug_name']) ? 'selected="selected"' : ' ');?>
     ><?php echo $row['generic_drug_name'];?></option>
<?php }

?>
</select>
<input type="submit" name = "edit" value="Edit" id="submit"/>
<?php
    if(isset($_POST['edit'])){ ?>
        <label>New Name</label>
        <input type="text" name="drug_name" value="<?php echo $_POST['position']; ?>" width="100px;"/>
        <input type="submit" name = "submit" value="Submit" id="submit"/>
   <?php 
      if(isset($_POST['submit'])){
        $edited_drug_name = $_POST['drug_name'];
        echo "Hello world";         
      } 
   }

?>  
</form>
</div>

当我点击第一个按钮时,它显示另一个文本字段和按钮,但当我点击新按钮时,它不会显示消息...请帮助

2 个答案:

答案 0 :(得分:0)

jquery .append应该有所帮助。

这是一个例子。

    <script type="text/javascript">
        $( function() {
            $("#button").click( function(){

                var textarea = $("<textarea></textarea>").prop({
                    name: 'ExampleName'
                    style: ''
                }).addClass( 'classesHere' );

                $("form").append(textarea);
            })
        })
    </script>

答案 1 :(得分:0)

我会从一个有一个textarea的基本表单开始。请记住,ID不能以数字开头,因此您可能需要提出创意命名约定。

<form id="myform" action="foo" method="post">
<fieldset>
    <p><label for="comments0">Comments</label>
    <textarea id="comments0" name="comments" cols="11" rows="4"></textarea></p>
    <p><a id="addItem" href="#">+ Add another item</a></p>
</fieldset>
<fieldset>
    <input type="submit" value="Submit" />
</fieldset>

您可以使用jQuery动态创建HTML:

var i = 1;
$('#addItem').click(function(event) {
    var markup = '<p><label for="comments' + i + '">Comments<label><textarea id="comments' + i + '" name="comments" cols="11" rows="4" /></textarea></p>';

    $(this).before(markup);
    i++;
    event.preventDefault();
});

然后在你的php文件中,你可以这样做:

<?php

for ($i=0; $i<$_POST['comments'].length; $i++) {
    // handle each text-area accordingly.
}