我有一个简单的登录注册表单,当用户键入错误的电子邮件时,他们会显示文本说“正在使用电子邮件”但是这个文本是用php echo完成的,因此我无法编辑其样式和定位。我能想到的唯一方法是使用javascript而不是php echo,以便我可以将消息输出到已经设置样式的另一个div。我想将消息输出到div id #log中。我试过$('#log')。innerHTML ='你的文字。';但这不起作用。
这是我的代码:
<?php
session_start();
include_once 'authentication/dbconnect.php';
if(isset($_SESSION['user'])!="")
{
header("Location: account.php");
}
if(isset($_POST['btn-login']))
{
$email = mysql_real_escape_string($_POST['email']);
$upass = mysql_real_escape_string($_POST['pass']);
$res=mysql_query("SELECT * FROM users WHERE email='$email'");
$row=mysql_fetch_array($res);
if($row['password']==md5($upass))
{
$_SESSION['user'] = $row['user_id'];
header("Location: account.php");
}
else
{
?>
<script>$('#log').innerHTML = 'Your text.';</script>
<?php
}
}
?>
<!DOCTYPE html>
<html>
<HEAD>
<title>Website | Loign</title>
<?php include "includes/page_sources.php"; ?>
</HEAD>
<body>
<?php include "includes/navigation.php"; ?>
<div id="wrapper">
<div id="log"></div>
<div id="login-form">
<form method="post">
<input type="text" name="email" placeholder="Your Email" required />
<input type="password" name="pass" placeholder="Your Password" required />
<button type="submit" name="btn-login">Log In</button>
<a href="register.php">Sign Up</a>
</form>
</div>
</div>
<?php include "includes/footer.php"; ?>
</body>
</html>
答案 0 :(得分:2)
您需要添加jquery库才能使用jQuery
使用$('#log')[0].innerHTML
或$('#log').html(content)
或使用纯javascript作为document.getElementById('log').innerHTML
$(document).ready(function() {
//wrap code with document ready handler for executing code only after dom is ready
$('#log')[0].innerHTML = '1';
//[0] will return dom object
$('#log1').html('2');
//html() is the method that can apply to jQuery object
document.getElementById('log2').innerHTML = '3';
//pure javascript without jQuery
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- add jQuery library reference -->
<div id="log"></div>
<div id="log1"></div>
<div id="log2"></div>
&#13;
答案 1 :(得分:0)
$('#log').innerHTML = 'Your text.';
这里$('#log')
是一个jquery元素,你不能使用javascript方式,所以,这应该可以正常工作。 $('#log')[0].innerHTML = 'Your text';
。使用[0]
将jquery元素转换为javascript。
但是使用html只需jQuery的首选方法:
$('#log').html('Your text');