繁体   English   中英

如何防止 input type=submit 关闭模态?

[英]How do you prevent an input type=submit from closing a modal?

我有一个包含表单的模式

<form method="post">
    <div class="form-group">
        <label for="name">Your Name:</label>
        <input type="text" name="name" class="form-control" placeholder="Your Name"
        value="<?php echo $_SESSION['post-data']['name']; ?>" />
    </div>
    <div class="form-group">
        <label for="email">Your Email:</label>
        <input type="email" name="email" class="form-control" placeholder="Your Email"
        value="<?php echo $_SESSION['post-data']['email']; ?>" />
    </div>
    <div class="form-group">
        <label for="comment">Your Comment:</label>
        <textarea class="form-control" name="comment"><?php echo $_SESSION['post-data']['comment']; ?></textarea>
    </div>
    <div class="modal-footer">
        <input type="submit" name="submit" class="btn" value="Submit"/>
    </div>
</form>

当按下提交按钮并发送电子邮件时,PHP 运行良好。

PHP

<?php

  $_SESSION['post-data'] = $_POST;

        if ($_POST["submit"]) {



             if (!$_POST['name']) {

                $error="<br />Please enter your name";

             }

             if (!$_POST['email']) {

                $error.="<br />Please enter your email address";

             }

             if (!$_POST['comment']) {

                 $error.="<br />Please enter a comment";

            }

             if ($_POST['email']!="" AND !filter_var($_POST['email'],
                FILTER_VALIDATE_EMAIL)) {

                 $error.="<br />Please enter a valid email address";

             }

             if ($error) {

                 $result='<div class="alert alert-danger"><strong>There were error(s)
                in your form:</strong>'.$error.'</div>';

         } else {

            if (mail("myemail", "Comment from website", "Name: ".
            $_POST['name']."

             Email: ".$_POST['email']."

            Comment: ".$_POST['comment'])) 

            {
             $result='<div class="alert alert-success"><strong>Thank
            you!</strong> I\'ll be in touch.</div>';

            unset($_SESSION['post-data']['name']);

            unset($_SESSION['post-data']['email']);

            unset($_SESSION['post-data']['comment']);

         } else {

            $result='<div class="alert alert-danger">Sorry, there was
            an error sending your message. Please try again later.</div>';

        }

     }
 }

 ?>

但是我希望在单击提交按钮后模态保持打开状态。 我已经搜索了所有SO,大多数相关问题建议使用

**data-backdrop="static"**

但这并没有奏效。 我相信这可能是因为它是一个输入而不是一个按钮,但我不确定。

您可以使用ajax,然后在不重定向的情况下提交,并获取结果数据并使用它做任何您想做的事情。

http://www.w3schools.com/ajax/

如果文件上有帖子,您可以做的另一件事是使用 javascript 打开模态。 基本上回显一个 javascript 命令,它将再次打开模态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM