我正在为我的网页制作简单的用户名/密码登录表单,并且无法使其正常工作。
我已仔细检查了所有代码,jsfiddle.net表示代码有效,但当我尝试使用正确的用户名和密码点击“提交”时,它会弹出最后一行的警告用户名/密码不正确的功能。
JavaScript的:
var un = window.document.userform.formuser.value;
var pw = window.document.userform.formpass.value;
function findPass()
{
if(un + "_" + pw == "demo_demo")
{window.location.href='../pages/demouser.html';}
else if (un + "_" + pw == "user2_pass2") {
window.location.href='pages/user2.html';
}
else {alert('Incorrect username/password');}
}
HTML:
<form name="userform" action="javascript:findPass();" style="margin:0;">
Username:<input type="text" name="formuser"><br>
Password:<input type="password" name="formpass"><br>
<input type="submit" value=" Sign In ">
我在各处搜索过,无法找到解决问题的方法。 此外,服务器不支持php,所以我更喜欢使用这种方法。
我做错了什么?
答案 0 :(得分:0)
var un = window.document.userform.formuser.value;
var pw = window.document.userform.formpass.value;
&#13;
当浏览器评估这些行时,您的表单仍为空,您需要为您的
分配处理程序
<input type="submit" value=" Sign In ">
&#13;
答案 1 :(得分:0)
问题是当你定义这两行时:
var un = window.document.userform.formuser.value;
var pw = window.document.userform.formpass.value;
页面尚未加载。将这些行移动到findPass
方法中,以便在单击按钮时(以及页面加载后)检索它们。
答案 2 :(得分:0)
与epascarello一样说:您正在阅读页面加载时的值,而不是用户单击按钮时。
通过更改此内容来解决此问题:
<script language="javascript">
var un = window.document.userform.formuser.value;
var pw = window.document.userform.formpass.value;
function findPass() {
your code ...
}
到这个
<script language="javascript">
function findPass() {
var un = window.document.userform.formuser.value;
var pw = window.document.userform.formpass.value;
rest of your code ...
}
希望这对你有所帮助!