[英]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.