Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我单击按钮时jQuery代码不起作用?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 为什么我单击按钮时jQuery代码不起作用?

Javascript 为什么我单击按钮时jQuery代码不起作用?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我对JavaScript/jQuery和web编程相当陌生。我需要文本框和按钮。我试着这样做,当文本框中有正确的字符时,你点击按钮,它就会把你带到另一个页面。但当我点击按钮时,什么也没发生 以下是我的服务器上的链接: 对不起,我才15岁 我的代码: $document.ready(函数(){ $(“#登录按钮”)。单击(函数(){ var username\u value=document.getElementById(“username\u框”).value; var password\u

我对JavaScript/jQuery和web编程相当陌生。我需要文本框和按钮。我试着这样做,当文本框中有正确的字符时,你点击按钮,它就会把你带到另一个页面。但当我点击按钮时,什么也没发生

以下是我的服务器上的链接:

对不起,我才15岁

我的代码:

$document.ready(函数(){
$(“#登录按钮”)。单击(函数(){
var username\u value=document.getElementById(“username\u框”).value;
var password\u value=document.getElementById(“密码框”).value;
如果(用户名值==“JakobMorelan”&密码值==“Admin1234”){
window.location=”http://jakadproductions.com/naj7m6j2aajre1o7opjr/";
};
否则{
window.location=”http://jakadproductions.com/";
};
});
});
登录
登录

提交
如果

if (username_value == "JakobMorelan" && password_value == "Admin1234") {
                window.location = "http://jakadproductions.com/naj7m6j2aajre1o7opjr/";
            }
            else {
                window.location = "http://jakadproductions.com/";
            };

控制台是你的朋友。看看它就会发现:

SyntaxError:应为表达式,获取关键字“else”


如果代码中只有一个else关键字,则可以假定它就是那个关键字。在这之前,你有一个分号,它完全结束了这个条件。因此,else是无效的,因为不再有if,它是从。删除分号,它将运行。

if/else块还有一个额外的
此处不需要任何代码

尝试打开浏览器的开发人员工具,如果代码有问题,它会提示您,并指向错误所在的位置


在这种情况下,删除
在if语句之后

浏览器调试器是解决这些问题的好工具。当我打开指向测试页面的链接并打开浏览器的调试工具时,它指出了问题:

Uncaught SyntaxError: Unexpected token else

这意味着它不需要else标记,因为在结束它的if子句后面放了一个分号。由于没有if语句仍在运行,因此else是意外的,脚本崩溃了。首先,代码中有一个错误。在if语句之后(在else之前)加上分号“;”。首先修复,CTRL+SHIFT+J在Chrome上打开一个控制台,您可以使用它轻松调试此类错误

您的代码中似乎有两个错误-

  • 正如其他人提到的,您必须删除
    if{…}
    块后面的分号。在JavaScript和许多其他语言中,标准语法是
    if{…}else{…}

  • jQuery代码以
    $document
    开头,除非先前定义了
    var$document
    ,否则您确实需要
    $(document)
    document
    变量是全局可用的,它本身不需要定义,但是要将它与jQuery方法(如
    .ready(…)
    )一起使用,必须将它包装在jQuery包装器中,这就是
    $(document)
    所做的

  • 下面是一个代码笔的例子。我已将重定向更改为警报


    “如果
    条件,则从关闭括号中退出。”。你的浏览器应该有一个开发者控制台,在那里你会看到类似的语法错误。请确认,你写这篇文章是为了练习自己,而不是为了真正隐藏javascript链接混淆器背后的任何有价值的东西。为了澄清我上面的评论。每个人都可以阅读您的javascript代码。因此,任何人都可以很容易地绕过这个“登录”机制。@wedi我对它真的很陌生,所以我只是随便玩玩。如果我要构建一个实际的登录名,它将是服务器端。请跟随Michael Coker的评论,您的java脚本有语法错误,不过我还有一个问题。单击按钮时,我无法使浏览器重定向到其他页面。不知道为什么。你可能知道吗@SuperTrue如果您的意思是在Codepen示例中它没有重定向,那是因为由于安全性/iframe方面的考虑,在Codepen上下文中重定向失败。如果这不是您的意思,您可能需要在
    中防止默认表单提交行为(通常是加载另一个页面)。单击
    函数。要执行此操作,请传入
    事件
    变量,如下所示:
    。单击(函数(事件)…
    并将
    事件.preventDefault();
    添加到函数的开头。让我知道它是否有效。