问题描述
我的应用程序中有一个选项,用户可以在其中停用其个人资料。只有管理员可以再次激活它们。
I have an option in my application where users can deactivate their profiles. Only admin can activate them again.
我有一个类 ActivateProfile
有两种方法
-
userExist(userName)
用于检查具有该userName的用户是否存在以及他/她的个人资料是否已停用 - 和
activateAccountByUser(userName)
再次激活用户的个人资料
userExist(userName)
that checks if user with that userName exists and his/her profile is deactivated- and
activateAccountByUser(userName)
that activate the profile of the user again
我在输入类型按钮的click事件上调用JavaScript函数。此代码适用于Chrome和Mozilla,但在Internet Explorer上我收到此错误:
I call a JavaScript function on the click event of an input type button. This code works fine on Chrome and Mozilla, but on Internet Explorer I get this error:
function activateProf() {
var userName=document.getElementById("userName").value;
if (userName == "") {
alert("Полето е задолжително");
} else {
alert(userName + "1");
ActivateProfile.userExist(userName, { callback:function(exist) {
if (userName) {
ActivateProfile.activateAccountByUser(userName);
alert("User is activated");
} else {
alert("User does not exist");
}
}});
}
}
以下是Activate profile class的代码
Here is the code for Activate profile class
public void activateAccountByUser(String userName) {
try {
Connection c = DBComm.getInstance().getConnection();
Statement s = c.createStatement();
ResultSet set = s.executeQuery("select * from accounts where userName = '" + userName + "' and isauthorized='2'");
if (set.next()) {
Statement st = c.createStatement();
st.executeUpdate("update accounts set isauthorized='1' where userName='" + userName + "' and isauthorized='2'");
}
s.close();
c.close();
} catch (Exception ex) {
java.util.logging.Logger.getLogger(ActivateProfile.class.getName()).log(Level.SEVERE, null, ex);
}
}
public boolean userExist(String userName) throws SQLException {
//true exist
//false does not exist
boolean existEmbg = false;
try {
Connection c = DBComm.getInstance().getConnection();
Statement s = c.createStatement();
ResultSet set = s.executeQuery("select * from accounts where userName = '" + userName + "' and isauthorized='2'");
if (set.next()) {
existEmbg = true;
} else {
existEmbg = false;
}
s.close();
c.close();
} catch (Exception ex) {
java.util.logging.Logger.getLogger(ActivateProfile.class.getName()).log(Level.SEVERE, null, ex);
}
return existEmbg;
}
推荐答案
几天后搜索互联网我发现当html元素id与javascript函数中的某个变量具有相同的id时,通常会发生此错误。更改其中一个名称后,我的代码工作正常。
After some days searching the Internet I found that this error usually occurs when an html element id has the same id as some variable in the javascript function. After changing the name of one of them my code was working fine.
这篇关于SCRIPT438:对象不支持属性或方法IE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!