当前位置: 首页 > 知识库问答 >
问题:

javascript不支持HTML

谭宏盛
2023-03-14

好吧,我已经想了两天了,但这对我来说毫无意义。所以我有一个注册表用户名,电子邮件,密码和重新输入密码。每个输入都有JavaScript,在每个keyup上都会将用户输入发送到php,在php中进行验证,并在密码下方的div中显示“Good”,div是“password\u feedback”(这一切都很好,如果我输入有效密码,它将在“password feedback”div中显示“Good”)

然后我进行JavaScript检查,查看“密码反馈”中的内容。如果“密码反馈”=“良好”,则“如果语句”将在“检查2”div中显示“良好”,否则将显示“不良”。但这不起作用,它将始终显示“坏”。

现在这里是奇怪的部分我做同样的所有4输入(重新输入密码不去PHP只是java)和用户名和重新输入密码都工作,电子邮件和密码不

var password\u good=文档。getElementById(“密码\反馈”)。innerHTML;

var password\u good=文档。getElementById('feedback')。innerHTML;(用户名反馈,而不是密码反馈)

然后它将用于用户名。同样,“密码反馈”将显示“良好”,这样才能正常工作。

在javascript中,如果我将所有密码信息替换为用户名信息,它将正常工作,因此我知道它可以正常工作。我甚至不能推测为什么这不适用于密码,而适用于用户名。我尝试了我能想到的一切,我已经缩小了页面,所以它只验证密码。也许有人知道一些我不知道的事情。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$('#password_feedback').load( 'password-check.php').show();
	
	$('#password_input').keyup(function(){
		//username: is name of variable sent to php, form is name of form, username is name of input
		$.post('password-check.php', { password: form.password.value}, 
		function(result) {
			$('#password_feedback').html(result).show();
		});
		
	});
});
</script>

<!-- begin snippet: js hide: false -->
<script type='text/javascript'>

  function check_info1(){
    var password_good = document.getElementById('password_feedback').innerHTML;

        if(password_good == "Good"){
    document.getElementById("check2").innerHTML = "good";
    }
    else{
        document.getElementById("check2").innerHTML = "bad ";
    }   
        }


</script>
<form name="form" onKeyUp="check_info()" onMouseUp="check_info1()"  >

    Username:<br />
    <input type="text" id="username_input" name="username"><div id="feedback"> </div>

    E-mail:<br/>
    <input name="email" type="text" id="email_input" value=""><div id="email_feedback"> </div>

    Password:<br/>
    <input name="password" type="password" id="password_input" value=""><div id="password_feedback"></div>

     Re-enter Password:<br/>
    <input name="password2" type="password" id="password_retype" value=""><div id="password_feedback2"> </div>

    <input type="submit" value="Submit" class="login_btn"/>

    </form>
    <div id="check"></div>
    <div id="check2"></div>
$connect = mysqli_connect("localhost", "????", "????","?????");

 if (mysqli_connect_errno()){
     echo "failed" . mysqli_connect_error();
 }




$password = mysqli_real_escape_string($connect, $_POST['password']);
$check = mysqli_query($connect,"SELECT password FROM users WHERE password='$password'");
$check_num_rows = mysqli_num_rows($check);


if ($password==NULL)
echo "enter a password";


else if( preg_match( '~[A-Z]~', $password) &&
    preg_match( '~[a-z]~', $password) &&
    preg_match( '~\d~', $password) &&
    (strlen( $password) > 6)){
    echo "Good";
} else {
    echo "Not good enough";
}


?>

共有1个答案

杜炫明
2023-03-14

尝试将输入类型="密码"更改为输入类型="文本":

浏览器中的密码处理方式不同,因此您可能会因此与查看结果发生冲突。您可以尝试使用keyup和使用的字符捕获密码字段,但由于以下几个原因,这很混乱:

  • 此事件捕获的所有字符在不同浏览器中并不相同(即使是字符子集也可能不使用此事件)

您最好只使用$(输入)。val()函数,用于在每次触发keyup、keypress或change事件时存储为密码。

 类似资料:
  • 在本章中,我们将重点介绍在PyCharm编辑器中使用JavaScript的主要功能。 当用户通过URL实现JavaScript库时,PyCharm打算下载本地副本,以便可以用于完成和代码分析。 考虑我们的HTML文件的示例代码,如下所示,我们在上一章中创建了该代码 - 对于每个HTML文件或JavaScript文件,您可以检查通过PyCharm Editor的Settings配置加载的外部库。 观

  • 在本章中,我们将重点介绍在PyCharm编辑器中使用JavaScript的主要功能。 当用户通过URL实现JavaScript库时,PyCharm打算下载本地副本,以便用于完成和代码分析。 参考以下HTML文件的示例代码,如下所示,这是在前一章中创建的HTML代码 - 对于每个HTML文件或JavaScript文件,可以检查通过PyCharm编辑器的设置配置加载的外部库。 观察下面的截图以便更好地

  • 问题内容: 是当今的浏览器是否经过深思熟虑的设计决策或存在问题,这些问题将在以后的版本中得到解决? 问题答案: JavaScript不支持多线程,因为浏览器中的JavaScript解释器是单线程(AFAIK)。甚至谷歌浏览器也不允许单个网页的JavaScript同时运行,因为这会在现有网页中引起大量的并发问题。Chrome所做的全部工作就是将多个组件(不同的选项卡,插件等)分离到单独的进程中,但是

  • DataSource 接口 不支持 timeout 相关操作 Connection 接口 不支持存储过程,函数,游标的操作 不支持执行 native SQL 不支持 savepoint 相关操作 不支持 Schema/Catalog 的操作 不支持自定义类型映射 Statement 和 PreparedStatement 接口 不支持返回多结果集的语句(即存储过程,非 SELECT 多条数据) 不

  • render函数在setup语法糖情况下不调用

  • 我需要在JAX-WS中通过客户端连接到外部服务器。客户端在Wildfly 8上运行。使用Java8连接是正常的。但我在Java7中连接到服务器时遇到了问题(我尝试了u45、67、79)。服务器端安全性的属性为https://www.ssllabs.com/ssltest/analyze.html?d=app.bundesnetzagentur.de 在部分“密码套件”中有四个密码。源代码不应支持J