你能把脚本标记放在php标记之间吗?
我试图在表单在按下submit之后验证用户输入之后,使用jquery使div淡出。我试图避免表单在验证之前淡出,以防用户没有输入正确的信息 我想知道我是否可以在我的php标记之间添加脚本标记,这样一旦验证完成,我就可以快速运行javascript,然后使用php的其余部分,如下所示:你能把脚本标记放在php标记之间吗?,php,javascript,jquery,forms,Php,Javascript,Jquery,Forms,我试图在表单在按下submit之后验证用户输入之后,使用jquery使div淡出。我试图避免表单在验证之前淡出,以防用户没有输入正确的信息 我想知道我是否可以在我的php标记之间添加脚本标记,这样一旦验证完成,我就可以快速运行javascript,然后使用php的其余部分,如下所示: <?php $name = trim($_POST['name']); $email = $_POST['email']; $comments = $_POST['comments'
<?php
$name = trim($_POST['name']);
$email = $_POST['email'];
$comments = $_POST['comments'];
$site_owners_email = 'zeckdude@gmail.com'; // Replace this with your own email address
$site_owners_name = 'Chris Seckler'; // replace with your name
if (strlen($name) < 2) {
$error['name'] = "Please enter your name";
}
if (!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $email)) {
$error['email'] = "Please enter a valid email address";
}
if (strlen($comments) < 3) {
$error['comments'] = "Please leave a comment.";
}
if (!$error) {
require_once('phpMailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->From = $email;
$mail->FromName = $name;
$mail->Subject = "Website Contact Form";
$mail->AddAddress($site_owners_email, $site_owners_name);
$mail->AddAddress('zeckdude@gmail.com', 'Chris Seckler');
$mail->Body = $comments;
$mail->Send();
?>
<script type="text/javascript">
$(function(){
$('#container').fadeOut(1000);
});
</script>
<?php
echo "<li class='success'> Congratulations, " . $name . ". We've received your email. We'll be in touch as soon as we possibly can! </li>";
echo nl2br("<b>Message Sent:</b>
From: $name
Email: $email
Message: $comments
<br/><a href='http://www.google.com'>Link</a>");
} # end if no error
else {
$response = (isset($error['name'])) ? "<li>" . $error['name'] . "</li> \n" : null;
$response .= (isset($error['email'])) ? "<li>" . $error['email'] . "</li> \n" : null;
$response .= (isset($error['comments'])) ? "<li>" . $error['comments'] . "</li>" : null;
echo $response;
} # end if there was an error sending
?>
$(函数(){
$(“#容器”).fadeOut(1000);
});
是的,但是你的结果不会是你想要的
PHP在将文档发送到客户端(用户)之前执行。Javascript在客户端收到文档后执行
相关评论较少:
通过POST,您的脚本易受跨站点脚本(XSS)攻击。在解决此问题之前,不要在真实站点上使用它
一种方法是让php代码的第二部分在隐藏的div中呈现html内容,…其他内容…
。然后,在淡入淡出完成后的javascript中,使用javascript清除div中的display:none属性以使其显示
祝你好运 是的,但是你的结果不会是你想要的
PHP在将文档发送到客户端(用户)之前执行。Javascript在客户端收到文档后执行
相关评论较少:
通过POST,您的脚本易受跨站点脚本(XSS)攻击。在解决此问题之前,不要在真实站点上使用它
一种方法是让php代码的第二部分在隐藏的div中呈现html内容,…其他内容…
。然后,在淡入淡出完成后的javascript中,使用javascript清除div中的display:none属性以使其显示
祝你好运 为什么不试试呢?您已经编写了代码。从我在代码中看到的情况来看,您应该能够毫无问题地完成此操作。为什么不试试呢?您已经编写了代码。从我在您的代码中看到的情况来看,您应该能够毫无问题地完成此操作。不,这肯定不会按您希望的方式工作-您的php脚本与浏览器没有那种亲密的交互,并且无法返回并使现有表单以这种方式执行其他操作。一旦php开始生成输出并发送页眉,它就是一个全新的网页,不能让旧的网页消失
你应该考虑考虑一下。然后,您可以使用ajax提交表单,并保持活动表单可见。一旦您成功地从ajax提交中返回,然后淡出表单并继续下一步工作不,这肯定不会按您希望的方式工作-您的php脚本与浏览器没有那种亲密的交互,因此无法返回并使现有表单以这种方式执行其他操作。一旦php开始生成输出并发送页眉,它就是一个全新的网页,不能让旧的网页消失
你应该考虑考虑一下。然后,您可以使用ajax提交表单,并保持活动表单可见。一旦您成功地从ajax提交中返回,然后淡出表单并继续下一步工作实际上,我刚刚尝试了上面展示的代码,效果非常好。至少看起来不错。以下是现场直播:
我现在要做的是让echo在结尾的信息真正淡入,而不是突然出现
我认为George Deglin的回答
有php代码的第二部分
在div中呈现html内容
这是隐藏的
…其他内容。。。
然后,在javascript中
褪色完成后,使用
清除显示:无
属性,使其成为
出现
这很可能会奏效 事实上,我刚刚尝试了上面展示的代码,效果非常好。至少看起来不错。以下是现场直播:
我现在要做的是让echo在结尾的信息真正淡入,而不是突然出现
我认为George Deglin的回答
有php代码的第二部分
在div中呈现html内容
这是隐藏的
…其他内容。。。
然后,在javascript中
褪色完成后,使用
清除显示:无
属性,使其成为
出现
这很可能会奏效 我尝试了Forms插件,但一旦它显示了警报框,它就会让表单中仍然充满所有的值。一点也不浮华。我想让用户点击submit,from淡出,消息淡入,大约15秒后,空表单淡出,我尝试了表单插件,但一旦它向我显示了警报框,它会让表单仍然充满所有的值。一点也不浮华。我想让用户点击submit,from淡出,消息淡入,15秒后,空表单淡入,感谢您的精彩评论!我在谷歌上搜索了跨站点脚本,这听起来很可怕。你是说我不应该用邮局吗?如何在我的页面上解决XSS问题?下面是一个完整的解释。(锚定方向为预防方向):。PHP有以下函数用于此目的:并解释如何将其应用于POST:在打印任何输出之前,PHP不会全部运行;例如,请参阅输出缓冲区刷新功能。感谢您的宝贵意见!我在谷歌上搜索了跨站点脚本,这听起来很可怕。你是说我不应该用邮局吗?如何在我的页面上解决XSS问题?下面是一个完整的解释。(锚定方向为预防方向):。PHP有以下函数用于此目的:并解释如何将其应用于P
<div id='content' style="display:none">
...other content...
</div>