取消表单提交后,window.location.href仍无法正常工作

时间:2014-06-06 01:53:04

标签: javascript samsung-smart-tv

我有一个登录表单

<div id='login_form'>
        <table>
            <tr>
                <td>Username:</td>
                <td><input size=25 type='text' id='username'></td>  
            </tr>
            <tr>
                <td>Password:</td>
                <td><input size=25 type='password' id='password'></td>
            </tr>
            <tr>
                <td colspan='2' align='right'>
                      <input type='button' id='login' value='Login' onkeydown='normalobjKeyFunc(this)' onfocus='itemFocus(this)'                                                  onblur='itemBlur(this)'/>
                </td>
            </tr>
        </table>
</div>

然后我有javaScript

var input_username = document.getElementById("username").value;
var input_password = document.getElementById("password").value;

if(input_username === "123" && input_password === "456"){
    alert("Correct username & password");
    window.location.href="../../result.html";
    return false;
}

但是当我收到“正确的用户名和密码”提醒时,该页面未重定向到result.html。我查了一下,“../../result.html”存在。

  1. 我发现有些人说提交应该被取消,所以我删除了表单并将“type =”submit“”更改为“type =”按钮“”登录按钮,但它无效。
  2. 还有另一种方法,在“window.location.href =”../../ result.html“”之后添加“return false”,但它也没有用。
  3. 任何人都有任何想法???? 提前谢谢!

2 个答案:

答案 0 :(得分:1)

用户名/密码检查应在后端(Java,PHP,Node,.NET)上完成

您的表单应该是表格标签。检查应在 onsubmit 回调中完成:

<script>
    function authenticate(){
        var input_username = document.getElementById("username").value;
        var input_password = document.getElementById("password").value;

        if(input_username==="123"&&input_password==="456"){
            alert("Correct username & password");
            window.location.href = "../../result.html";
        }
        else {
            // Error
        }
        return false;
    }
</script>
<form onsubmit="authenticate()">
    <table>
        <tr>
            <td>Username:</td>
            <td><input size="25" type="text" id="username"></td>  
        </tr>
        <tr>
            <td>Password:</td>
            <td><input size="25" type="password" id="password"></td>
        </tr>
        <tr>
            <td colspan="2" style="text-align: right">
                <button onkeydown="normalobjKeyFunc(this)" onfocus="itemFocus(this)" onblur="itemBlur(this)">Login</button>
            </td>
        </tr>
    </table>
</form>

答案 1 :(得分:0)

点击按钮点击你的javascript函数..

<input type='button' id='login' onclick="authenticate()" value='Login' onkeydown='normalobjKeyFunc(this)' onfocus='itemFocus(this)' onblur='itemBlur(this)'/>