Javascript Onclick事件在任何浏览器中都不起作用

Javascript Onclick事件在任何浏览器中都不起作用,javascript,jquery,html,Javascript,Jquery,Html,我在html文件中有下面的代码,我正在尝试与MS Access后端数据库建立连接,以验证传入的用户 <html> <head> <title>Login</title> <script type=”text/javascript” language=”JavaScript” > // Function to Check the login from MS Access database function checkLogin()

我在html文件中有下面的代码,我正在尝试与MS Access后端数据库建立连接,以验证传入的用户

<html>
<head>
<title>Login</title>
<script type=”text/javascript” language=”JavaScript” >

// Function to Check the login from MS Access database

function checkLogin() 
{ 
var usname = document.getElementById(‘tbuname’).value;
var pwd = document.getElementById(‘tbpwd’).value;

// Code to connect the MS Access database using java Script

// ” C:\Users\navyatejav\Documents\BSC Payroll Tracking.accdb ” is the MS Access database

var cn = new ActiveXObject(“ADODB.Connection”);

var strConn = “Provider=Microsoft.ace.OLEDB.12.0; Data Source = Z:\OPERATIONS\BSC Payroll\Advisors\BostonSci_Agent\New\DBR\BSC Payroll Tracking_be.accdb“; 
var rs = new ActiveXObject(“ADODB.Recordset”);


var SQL = “select password from Agents where username = ‘” + usname + “‘”; 
cn.Open(strConn); 
rs.Open(SQL, cn);

if(!rs.eof)
{

if(rs.fields(0).value == pwd) 
location.href=’main.htm?uname=’+usname;
else
alert(‘wrong username or password!’);

}
else
alert(‘wrong username or password!’);

rs.Close(); 
cn.Close();
}

</script>

</head>
<body style=”margin:0;”>
<table width=”1000px” cellpadding=”0? cellspacing=”0?>
<tr>
<td style=”height:200px;background-image:url(images/top.jpg);”>
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>
Username : <input type=”text” id=”tbuname” name=”tbuname” />
<br />
Password : <input type=”text” id=”tbpwd” name=”tbuname” />
</td>
</tr>
<tr>
<td>
<Button onclick=”checkLogin()”>Login</Button>


</tr>
</table>
</body>
</html>

登录
//用于检查从MS Access数据库登录的函数
函数checkLogin()
{ 
var usname=document.getElementById('tbuname').value;
var pwd=document.getElementById('tbpwd')。值;
//使用java脚本连接MS Access数据库的代码
//“C:\Users\navyatejav\Documents\BSC Payroll Tracking.accdb”是MS Access数据库
var cn=新的ActiveXObject(“ADODB.Connection”);
var strConn=“Provider=Microsoft.ace.OLEDB.12.0;数据源=Z:\OPERATIONS\BSC Payroll\Advisors\BostonSci\u Agent\New\DBR\BSC Payroll Tracking\u be.accdb”;
var rs=新的ActiveXObject(“ADODB.Recordset”);
var SQL=“从username=”+usname+“”的代理中选择密码;
cn.Open(strConn);
rs.Open(SQL,cn);
如果(!rs.eof)
{
if(rs.fields(0).value==pwd)
location.href='main.htm?uname='+usname;
其他的
警报('错误的用户名或密码!');
}
其他的
警报('错误的用户名或密码!');
rs.Close();
cn.Close();
}
用户名:

密码: 登录

但是,当我点击登录按钮时,什么也没有发生。请帮助!!!

此代码90%不是标准的javascript,此代码只能在旧版本的Microsoft Internet Explorer中运行。

通过JSHint运行JS,并在一堆上ping。将其压缩,替换unicode(
&
):

关于JSHint的报告:

此文件中只有一个函数

这不需要争论

此函数包含16条语句

此函数的圈复杂度数为3。 8 ActiveXObject 10 ActiveXObject


ActiveXObject中的问题。
只有IE支持ActiveX,所以这在任何其他浏览器中都不起作用。

这一问题已得到解决。我在db路径中添加了\而不是\来实现这一点。感谢您的所有建议。

快速扫描代码后,不会立即跳出任何内容。我建议您在函数开头添加一个console.log语句,以查看是否它激发。尝试过。但没有运气。Onclick应该检查指定的表,并警告用户是否具有正确的凭据。但是没有发生任何事情。不要在字处理器中编辑脚本。你所有的引号都是错误的,它们是卷曲的引号而不是普通的ASCII引号。谢谢你Barmar。我已经在记事本中更改了它们,没有运气谢谢你的回复se.你能帮我找到替换字段吗?或者给我具体的指导,这样我就可以完成所需的工作了吗?只使用该浏览器尝试使用Internet Explorer,用F12打开javascript控制台,查看给出的错误,并尝试重新定位
Z:\OPERATIONS\BSC Payroll\Advisors\BostonSci\u Agent\New\DBR\BSC Payroll Tracking\u be.accdb“
文件到另一个比current更简单的位置,类似于
“C:\temp\users\u test.accdb”
@teja调试器显示cn.Open(strConn);作为无效文件名谢谢你扭曲。我已经用你建议的代码替换了我的代码,但没有任何效果:(您是否在控制台中看到任何错误?警报?您是否能够通过ODBC连接?调试器显示cn.Open(strConn);作为无效文件名,请检查“Z:\OPERATIONS\BSC Payroll\Advisors\BostonSci_Agent\New”文件夹的权限。确保IUSER具有写入和读取权限,或运行IIS/应用程序池的任何用户。我还将尝试将FS上的DB名称更改为更短且没有空格的名称。此外,如果Z:是映射驱动器,请确保映射处于活动状态通过在ODBC中创建DS to进行测试。谢谢你,艾哈迈德。是的。IE在这种情况下也不起作用:(你的意思是:`Z:\\OPERATIONS\\BSC Payroll\\Advisors\\BostonSci\U Agent\New\`?
// Function to Check the login from MS Access database

function checkLogin() { 
  var usname, pwd, cn, strConn, rs, SQL;
  usname = document.getElementById("tbuname").value;
  pwd = document.getElementById("tbpwd").value;

  cn = new ActiveXObject("ADODB.Connection");
  strConn = "Provider=Microsoft.ace.OLEDB.12.0; Data Source = Z:\OPERATIONS\BSC Payroll\Advisors\BostonSci_Agent\New\DBR\BSC Payroll Tracking_be.accdb"; 
  rs = new ActiveXObject("ADODB.Recordset");

  SQL = "SELECT password FROM Agents WHERE username = '" + usname + "'"; 
  cn.Open(strConn); 
  rs.Open(SQL, cn);
  if(!rs.eof){
    if(rs.fields(0).value === pwd){
      location.href = "main.htm?uname=" + usname;
    } else {
      alert("wrong username or password!");
    }
  } else {
    alert("wrong username or password!");
  }
  rs.Close(); 
  cn.Close();
}