2015-12-18 2 views
2

У меня есть код ниже в html-файле, и я пытаюсь установить соединение с БД базы данных MS Access для проверки входящего пользователя.Событие Onclick, не работающее в любом браузере

<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> 

Однако, когда я нажимаю кнопку входа в систему, ничего не происходит. Пожалуйста помоги!!!

+0

Ничего не выпрыгивает сразу после быстрого сканирования вашего кода. Я предлагаю вам поставить инструкцию console.log в начале функции, чтобы узнать, срабатывает ли она. – Will

+0

Пробовал. Но не повезло. Onclick должен проверить указанную таблицу и предупредить, имеет ли пользователь правильные учетные данные или нет. но ничего не происходит – Teja

+0

Не редактируйте скрипты в текстовом редакторе. Все ваши кавычки ошибочны, они являются кудрявыми цитатами вместо обычных котировок ASCII. – Barmar

ответ

0

Этот стенд разрешен. Я добавил \ in путь db вместо \, который делает трюк. Спасибо за все предложения.

+0

Dou вы имеете в виду: 'Z: \\ ОПЕРАЦИИ \\ BSC Payroll \\ Advisors \\ BostonSci_Agent \ New \\'? – Twisty

0

90% этого кода не Standar JavaScript, этот код должен быть побежал только в старой версии Microsoft Internet Explorer

+0

Спасибо за ответ. Можете ли вы, пожалуйста, помочь мне с полями замены или указать мне конкретное, чтобы я мог сделать это? – Teja

+0

Попробуйте использовать только Internet Explorer только с этим браузером и откройте консоль javascript с помощью F12, чтобы увидеть приведенные ошибки и попытайтесь переместить 'Z: \ OPERATIONS \ BSC Payroll \ Advisors \ BostonSci_Agent \ New \ DBR \ BSC Payroll Tracking_be.accdb" файл в другом месте проще, чем в режиме реального времени, что-то вроде '' C: \ temp \ users_test.accdb "' @Teja – salc2

+0

Нет ошибок в консоли. – Teja

0

Ран ваш JS через JSHint и свистел на кучу. Widdled его, заменив Юникода ( & ):

// 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(); 
} 

Отчет о JSHint:

Существует только одна функция в этом файле.

Он не принимает никаких аргументов.

Эта функция содержит 16 заявлений.

цикломатическая номер сложности для этой функции равно 3. ActiveXObject 10 ActiveXObject

+0

Спасибо Twisty. заменили мой код на ваш предложенный код, и все же ничего не работает :( – Teja

+0

Вы видите какие-либо ошибки в консоли? Оповещения? Вы можете подключиться через ODBC? – Twisty

+0

В консоли не сообщается ошибок – Teja

0

Проблема в ActiveXObject. Только у IE есть поддержка ActiveX, поэтому это не будет работать ни в одном другом браузере.

+0

Спасибо, Ахмед. И да. IE также не работает в этом случае :( – Teja

Смежные вопросы