使用JS向div添加文本,

时间:2015-07-10 08:28:34

标签: javascript php jquery html

我有一个简单的登录注册表单,当用户键入错误的电子邮件时,他们会显示文本说“正在使用电子邮件”但是这个文本是用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>

2 个答案:

答案 0 :(得分:2)

您需要添加jquery库才能使用jQuery

使用$('#log')[0].innerHTML$('#log').html(content)或使用纯javascript作为document.getElementById('log').innerHTML

&#13;
&#13;
$(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;
&#13;
&#13;

答案 1 :(得分:0)

$('#log').innerHTML = 'Your text.';

这里$('#log')是一个jquery元素,你不能使用javascript方式,所以,这应该可以正常工作。 $('#log')[0].innerHTML = 'Your text';。使用[0]将jquery元素转换为javascript。

但是使用html只需jQuery的首选方法:

$('#log').html('Your text');