HTML和Javascript。为什么我的代码不起作用

时间:2015-12-05 20:27:22

标签: javascript html html5

这是一段非常简单的HTML,其中集成了一些JavaScript。我从我所知道的那样做了我能做的事,但我认为我没有使用正确的文件标签。它或者页面需要更新的方式,我不知道该怎么做。请帮忙。

<!DOCTYPE html>
<html>
<body>
    <form action="">
        User name:<br>
        <input type="text" name="userid">
        <br>
        User password:<br>
        <input type="password" name="psw">
    </form>

    <p>The characters in a password field are masked (shown as asterisks or circles).</p>

    <p id="enter"></p>

    <script>
        function access(username, password) {
            if (username == "bobby") {
                if (password == "qwertyasd123") {
                    document.getElementById(enter).innerHTML = "You may pass";
                }
            }
        }
        access(document.getElementsByName("userid").innerHTML, 
            document.getElementsByName("userid").innerHTML)
    </script>
</body>
</html>

2 个答案:

答案 0 :(得分:3)

更改

s = (a+b+c)/2;

//  Jonathan Leffler tests

area = sqrt(s*(s-a)*(s-b)*(s-c));
R = (a*b*c)/(4*area);

// add test
double R2 = R*2.0;
A = (a>R2) ? 180/pi : (180/pi)*asin(a/R2);
...

document.getElementById(enter)

同样改变:

document.getElementById('enter')

document.getElementsByName("userid").innerHTML

并且您没有将用户ID更改为psw一个字符串。

答案 1 :(得分:0)

确实存在一些错误:

document.getElementsByName("userid")您获得了一个列表

,因此您希望通过[0]访问第一个:

document.getElementsByName("userid")

您忘记在此处将ID用作字符串:document.getElementById(enter)应为document.getElementById("enter")

你曾两次使用"userid"而不是"psw"

access(document.getElementsByName("userid")[0].value, 
            document.getElementsByName("psw")[0].value)

按Enter键时,您希望它发生:

<form onsubmit='access(document.getElementsByName("userid")[0].value, document.getElementsByName("psw")[0].value)'>

你也需要一个<input type="submit" name="sub">

以下是完整的代码和工作示例https://jsfiddle.net/j35fbet9/