我有以下脚本。
但在IE中警告 “Du kannst pro Beitrag nur 1 x voten。” 未显示
浏览器支持代码
function voteFunction(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
var TYPE = document.getElementById('TYPE').value;
if(ajaxRequest.readyState == 4){
if (ajaxRequest.responseText == 'you voted allready'){alert('Du kannst pro Beitrag nur 1 x voten.')}
if (ajaxRequest.responseText != 'you voted allready'){
document.getElementById('cdm_play_video_votes').innerHTML= ajaxRequest.responseText;}
if (TYPE == 1 ){publishVideovote();}
if (TYPE == 2 ){publishImagevote();}
}
}
var videoid = document.getElementById('videoid').value;
var userid = document.getElementById('userid').value;
var queryString = "?function=vote&videoid=" + videoid + "&userid=" + userid ;
ajaxRequest.open("GET", "function.php" + queryString, true);
ajaxRequest.send(null);
}
//-->
任何人都可以帮助我吗?
提前多多感谢
答案 0 :(得分:1)
(删除原始答案)
好的,既然AJAX部分有效,并且处理程序中的警报失败了,我会查看那里的代码。
使用ID“type”,并使用同名的变量引用该元素的值,可能会影响您的代码IE's global namespace pollution
尝试从以下位置更改此行:
var TYPE = document.getElementById('TYPE').value;
为:
var typeValue = document.getElementById('TYPE').value;
^^^^^^^^^
然后在病房之后对它进行所有引用。
答案 1 :(得分:0)
哪些提醒未显示?您发布的代码包含两个,因此确定我们应该关注的代码部分将会有所帮助。
我注意到的一件非常小的事情:你在第二个警报结束时错过了一个分号 - 如果(ajaxRequest.responseText =='你投了全部'){alert('Du kannst pro Beitrag nur 1 x voten。')} - 这可能会导致问题(我不确定IE8对于那种事情有多挑剔)。