我已将以下代码编写为我网站的用户注册过程的一部分。显然,一旦用户填写了他们的电子邮件并点击提交,表单数据将通过以下方式发送:
<?php
if(isset($_POST['email'])){
$email_from = $_POST['email'];
function died($error) {
echo $error;
die();
}
if(!isset($_POST['email'])) {
died($error);
}
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= ' <script type="text/javascript">
alert("The email address you entered does not appear to be valid");
window.location = "http://www.domain.com/";
</script> ' ;
}
if(strlen($error_message) > 0) {
died($error_message);
}
etc, etc, etc....
我真的很感激一些帮助,就是这个脚本:
$error_message .= ' <script type="text/javascript">
alert("The email address you entered does not appear to be valid");
window.location = "http://www.domain.com/";
</script> ' ;
}
如何在html页面上创建一个只在淡入淡出(和点击外)的错误消息,而不是仅仅在重定向到html页面之前成为空白白页php页面的js警告?
谢谢!
答案 0 :(得分:2)
如何使用jQuery的fadeIn函数? http://api.jquery.com/fadeIn/ 如果你不知道如何使用jQuery,你应该简单地将你的html页面链接到jQuery的.js脚本并根据需要使用这些函数。
<强>更新强>:
回答你的评论。根据{{1}}中的讨论,您可以采取以下措施:
http://stackoverflow.com/questions/3708850/is-there-an-onload-event-for-input-elements
然后,您可以在<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery-1.5.1.min.js"></script>
<script type="text/javascript">
function test() {
alert('test');
}
</script>
</head>
<body >
<?php
if($condition) {
print '<input type="hidden" />
<script>
test();
</script>';
}
?>
</body>
中执行任何操作,例如,调用fadeIn。此外,您可以在PHP if语句中指定所需的条件。
答案 1 :(得分:2)
<span class="fadeInMessage" style="display:none;">"The email address you entered does not appear to be valid"</span>
这将开始隐形。然后你会写下面的代码:
$(function(){
$('.fadeInMessage').fadeIn();
});
答案 2 :(得分:0)
我同意其他两个答案;你应该使用jQuery的fadeIn
函数。但是,如果您不想或不能使用jQuery,这应该让您开始使用纯Javascript实现:
HTML:
<div id="message">Hello world!</div>
使用Javascript:
var msg = document.getElementById( 'message' );
msg.style.opacity = 0;
function fadeIn() {
if( msg.style.opacity < 1 ) {
msg.style.opacity = parseFloat(msg.style.opacity) + 0.01;
setTimeout( fadeIn, 25 );
}
}
function fadeOut() {
if( msg.style.opacity > 0 ) {
msg.style.opacity = parseFloat(msg.style.opacity) - 0.01;
setTimeout( fadeOut, 25 );
}
}
fadeIn();
msg.onclick = function() { fadeOut(); }
这是一个jsFiddle演示:http://jsfiddle.net/GgYS8/