Twitter的bootstrap Form在Modal中

时间:2013-03-14 09:48:09

标签: php html forms twitter-bootstrap modal-dialog

我正在使用twitter的bootstrap制作一个WebApp,在App的一个功能上我需要有一些带有form的内部模态。这些表单将通过一些PHP脚本填充数据。我在使用表单的模态功能时遇到问题,版本数据在字段中正确显示,但我似乎无法提交表单。

这是我的代码:

 <a href="#edit_user_<?php echo $row['id_user'] ?>" role='button' data-toggle='modal' data-original-title='Edit User' class='btn btn-small btn-info time-link'><i class='icon-pencil icon-white'></i></a>
                  <button data-toggle='tooltip' data-original-title='Delete User' class='btn btn-small btn-danger time-link'><i class='icon-trash icon-white'></i></button>
          <?php
             echo "</td>";
             echo "</tr>";?>      

        <div id="edit_user_<?php echo $row['id_user']; ?>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h3 id="myModalLabel">Modal header</h3>
            </div>
             <div class="modal-body">
                <form action="" method="POST">
                    <label for="name">Name</label>
                    <input type="text" name="name" value="<?php echo $row['name']?>"/>
                    <label for="email">Email</label>
                    <input type="text" name="email" value="<?php echo $row['email']?>">
                    <button type="submit" name="update_btn">Submit</button>
                    <?php
                    if (isset($_POST['update_btn'])) {
                        if (isset($_POST['name']) && $_POST['name'] !="") {
                            if (isset($_POST['email']) && $_POST['email'] !="") {
                                $qstr_updateuser = "UPDATE `host_register`.`users` SET `name`=".$_POST['name'].", `email`= ".$_POST['email']." WHERE `users`.`id_user` = ".$row['id_user']."";
                                echo $qstr_updateuser;
                                $update_user = mysqli_query($dbc,$qstr_updateuser);
                            }
                        }
                    }?>
                </form>
            </div>
             <div class="modal-footer">
                <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
                <button class="btn btn-primary">Save changes</button>
            </div>
        </div>          

由于某些原因我无法理解,浏览器输出是这样的:

<div class="modal-body">
                <form method="POST" action=""></form>
                    <label for="name">Name</label>
                    <input type="text" value="Pedro Oliveira" name="name">
                    <label for="email">Email</label>
                    <input type="text" value="pedro.oliveira@est.pt" name="email">
                    <button name="update_btn" type="submit">Submit</button>

            </div>

我在这里毫无头绪!这是引导程序还是我的代码的问题?

3 个答案:

答案 0 :(得分:2)

幸运的是,我发现,因为Modal是在一个标签内,因为一个while循环导致了这种干扰,但我完全理解为什么会发生这种情况。幸运的是,我从头开始重新开始工作,并决定创建一个不同的while循环来执行相同的Job,因为看起来问题确实是表标记。

答案 1 :(得分:0)

查看此链接上的最后评论https://github.com/twitter/bootstrap/issues/50

编辑:更好的示例https://gist.github.com/havvg/3226804

答案 2 :(得分:0)

如果是浏览器输出,则无法提交,因为提交按钮不在表单标记内,甚至是输入。除非你的问题确实如此。