如果不是这样,我如何用JavaScript编写?

时间:2012-01-12 18:29:31

标签: javascript

我希望有一个带有提交按钮的密码字段,点击提交,如果输入的密码不是12345,则会显示错误消息,但如果输入12345,则会转到www.URL.com

4 个答案:

答案 0 :(得分:0)

要检测按钮点击,您可以使用onclick

document.getElementById("button").onclick = function() {
    //code here
};

然后,要获取输入的值,您可以使用.value

var value = document.getElementById("password").value;

要比较它,请使用if和相等运算符:

if (value == "12345")

如果密码错误,您可以使用alert显示“错误消息”:

alert("wrong password");

如果密码正常,请使用location.href重定向用户:

location.href = "www.url.com";

请注意,任何仅依赖于客户端(即浏览器JavaScript)的身份验证组件根本不安全。

答案 1 :(得分:0)

以下是代码:

<强> HTML

<input type="password" id="pass" />
<input type="button" id="foo" value='Click me' />

<强> JS

function addHandler(type, el, myFunction) {
    if (el.addEventListener) {
        el.addEventListener(type,myFunction,false);
    } else (el.attachEvent) {
        type = 'on' + type;
        el.attachEvent(type,myFunction);
    }
}
var button = document.getElementById('foo');

addHandler('click', button, function () {
    var pass = document.getElementById('pass').value;
    if (pass === '12345') {
        window.location = 'http://url.com/';       
    } else {
        alert('not so bad');
    }
});

当然,您可以将按钮更改为提交,但没有太大区别。

小提琴:http://jsfiddle.net/3PT5a/

祝你好运!

答案 2 :(得分:0)

 function checkIfValid(){
     var yourField = document.getElementById('password').value;
     if (yourField == "12345") { 
          window.location.href = "http://www.google.com"; 
          return true;
      }else{
          alert("NOT GOOD");
          return false;
      }
  }

在您的表单上:

<form name="FORMNAME" action="script.php" onSubmit="return checkIfValid()">
    <input name="password" id='password' type="password"/>
    <input type="submit" value='submit'>
</form>

答案 3 :(得分:0)

如果你100%意识到自己在做什么 - 而且我很确定你不是 - 请使用它:

<form action="" method="post" 
  onsubmit="if(passwd.value=='myPass')location='http://example.com/';return false">
 <input type="password" name="passwd" />
 <button type="submit">Submit</button>
</form>

此外:我知道它很脏(passwd而不是添加ID并呼叫document.getElementById('passwd')或至少使用this.passwd)但请注意,这是一个单行;)