gpt4 book ai didi

javascript 不显示innerHTML

转载 作者:行者123 更新时间:2023-11-28 07:50:04 24 4
gpt4 key购买 nike

好吧,我已经尝试解决这个问题两天了,但它对我来说没有任何意义。所以我有一个注册表单用户名、电子邮件、密码并重新输入密码。每个输入都有 JavaScript,在每次按键时都会将用户输入发送到 php,在那里它会验证它,并会在密码下面的 div 中显示“Good”,div 是“password_feedback”(这一切都很好,如果我输入有效的密码,它会在“密码反馈”div 中显示“好”)

然后我用 JavaScript 检查“password_feedback”中的内容。如果“password_feedback”==“Good”,“if 语句”将在“check2”div 中显示“good”,否则显示“bad”。但这不起作用它总是显示“坏”。

现在这是奇怪的部分,我对所有 4 个输入执行相同的操作(重新输入密码不会转到 php,只是 java),并且“用户名”和“重新输入密码”都有效,电子邮件和密码不起作用。如果我改变

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

varpassword_good = document.getElementById('反馈').innerHTML; (用户名反馈而不是密码反馈)

然后它将适用于用户名。再次,“password_feedback”将显示“Good”,就像它应该的那样,这样就可以工作了。

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

<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";
}


?>

最佳答案

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

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

  • 此事件在浏览器中捕获的所有字符并非相同(即使是字符子集也可能不使用此事件)
  • 您必须使用数据结构并确保它与字段匹配

您最好只使用 $(input).val() 函数在每次 keyup、keypress 或更改事件触发时存储为密码。

关于javascript 不显示innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26949870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com