【发布时间】:2017-09-11 04:58:38
【问题描述】:
我正在创建一个包含用于 RSVP 的 PHP 表单的婚礼网站。我充其量只是个新手。
我想要做的是,一旦用户填写并提交表单,网页要么将他们带到成功/感谢页面。 (这部分正在工作)。
或者如果表格填写不正确,它会显示一个引导模式,告诉他们他们做错了什么。 (这是我遇到的问题)。
这是我与模态部分有关的代码。
在我看来,我的 PHP if 语句应该在出现任何类型的错误时运行 JavaScript。 JavaScript 应该打开一个显示错误的模式窗口。什么没有连接?
<?php
if ($_POST["submit"]) {
$result='<div class="alert alert-success">Form submitted</div>';
if (!$_POST["name"]) {
$error.="<br> Please enter the name on your invitation.";
}
if (!$_POST["head-count"]) {
$error.="<br> Please enter the size of your party.";
}
if (!$_POST["reception-check"]) {
$error.="<br> Please let us know if you will be attending the reception.";
}
if ($error) { ?>
<script type="text/javascript"> $('#myModal').modal('show'); </script>
<?php
} else {
if (mail("dprb17@gmail.com", "RSVP", "
Name: ".$_POST['name']."
Head Count: ".$_POST['head-count']."
Reception Check: ".$_POST['reception-check']."
Comments: ".$_POST['comments'])) {
header("location: http://www.ourpeachwedding.com/pages/thankyou.php");
exit();
} else {
$result='<div class="alert alert-danger"><strong>Sorry, there was an error submitting your rsvp, please try again.</strong>'.$error.'</div>';
}
}
}
?>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<?php echo $result ?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<div id="rsvp">
<div class="jumbotron">
<?php echo $result; ?>
<div class="container-fluid">
<p class="text-center h1">RSVP</p>
<p class="lead text-center">Even if you are not planning to attend, please RSVP anyway.</p>
<div class="row">
<div class=" col-md-6 col-md-offset-3">
<form method="post">
<div class="input-group">
<span class="input-group-addon">Name:</span>
<input name="name" type="text" class="form-control" placeholder="What was the name on the invitation?" value="<?php echo $_POST['name']; ?>">
</div> <!--/.input-group-->
<hr>
<div class="input-group">
<span class="input-group-addon">Head Count:</span>
<input name="head-count" type="text" class="form-control" placeholder="How many in your party?" value="<?php echo $_POST['head-count']; ?>">
</div> <!--/.input-group-->
<hr>
<div class="input-group">
<span class="input-group-addon">Reception?</span>
<input name="reception-check" type="text" class="form-control" placeholder="Will you be attending the reception?" value="<?php echo $_POST['reception-check']; ?>">
</div> <!--/.input-group-->
<hr>
<div class="input-group">
<span class="input-group-addon">Comments:</span>
<textarea name="comments" type="text" class="form-control" placeholder="eg. gluten/food allergies, not attending, etc."><?php echo $_POST['comments']; ?></textarea>
</div> <!--/.input-group-->
<hr>
<div class="text-center">
<input type="submit" name="submit" class="btn btn-success btn-large" value="Submit">
</div> <!--/.text-center-->
</form>
</div> <!--/.col-->
</div> <!--/.row-->
</div> <!--/.container-fluid-->
</div> <!--/.jumbotron-->
</div> <!--/#rsvp-->
【问题讨论】:
-
你的录取记录有问题
-
首先,modal会在浏览器的页面上由javascript显示,而不是直接由php代码显示。如果要显示模式,则需要将页面中的某些内容发送到浏览器以使其显示。
-
这是什么意思@Fred-ii-
-
这意味着你过去所有给出解决方案的问题都没有被接受。这表明没有一个问题得到解决。
-
您需要在 JavaScript 而不是 PHP 中实现表单验证才能使用模态。 [This][1] 示例应该可以帮助您入门。我建议学习 JavaScript 的基础知识,因为如果您正在为 Web 开发,您将需要经常学习。 [1]:w3schools.com/js/js_validation.asp
标签: javascript php jquery html twitter-bootstrap