动态更改图像的Javascript代码适用于IE而非FF、Chrome等:(
通常我听说代码在IE以外的环境下工作,但我遇到了相反的问题 以下是链接: 还有一个代码快照,它不会在IE下踢出任何错误,但不会与其他任何东西(Opera、iPhone Safari、Chrome、FF)打交道 我知道这将是一件愚蠢的事情,但我整天都在做这件事(我不是一个合适的程序员),当它不是在玩球的时候,我的眼睛有点呆滞 任何帮助都能为我指明正确的方向:) 谢谢,里克动态更改图像的Javascript代码适用于IE而非FF、Chrome等:(,javascript,html,browser,cross-browser,dhtml,Javascript,Html,Browser,Cross Browser,Dhtml,通常我听说代码在IE以外的环境下工作,但我遇到了相反的问题 以下是链接: 还有一个代码快照,它不会在IE下踢出任何错误,但不会与其他任何东西(Opera、iPhone Safari、Chrome、FF)打交道 我知道这将是一件愚蠢的事情,但我整天都在做这件事(我不是一个合适的程序员),当它不是在玩球的时候,我的眼睛有点呆滞 任何帮助都能为我指明正确的方向:) 谢谢,里克 <html> <head> <script type="text/javascript"&g
<html>
<head>
<script type="text/javascript">
var arr = new Array(); // Create our array
var convexisting = " "; // Create a blank variable we check later
if (!Array.prototype.indexOf) // IE8 and below
{
Array.prototype.indexOf = function(elt /*, from*/)
{
var len = this.length >>> 0;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
function toggleimg(itemname)
{
if (document.getElementById(itemname).src == 'http://www.underagedriving.co.uk/ins/yellow.gif') // If its yellow that means its not set
{
document.getElementById(itemname).src = 'http://www.underagedriving.co.uk/ins/blue.gif'; // Change colour to blue
arr.push(itemname); // Add item to array
}
else
{
document.getElementById(itemname).src = 'http://www.underagedriving.co.uk/ins/yellow.gif'; // If its already blue, deselect it by turning yellow
arr.splice(arr.indexOf(itemname), 1); // Remove it from array
}
}
function checkform(form) // On submit fix the array to send to PHP
{
form.availabilityarray.value = arr.join(","); // Concat our array data in a CSV string to submit via the form
return true ; // Allow submitting of the form data
}
function preprocess() // Has to be a function after body load
{
// If array ready to be processed
if (convexisting != " ") // Check our test var is not blank
{
var arr = convexisting.split(","); // Split our CSV data for the grid back into an array
for (var i = 0; i < arr.length; i++) toggleimg(arr[i]); // For each entry in array run toggleimg
}
}
</script>
<body onload="javascript:preprocess();">
<form name="claimform" method="POST" action="http://www.underagedriving.co.uk/ins/timeclick2.php" enctype="multipart/form-data" onsubmit="return checkform(this);">
<table width="700" cellspacing=0 cellpadding=0 border=0>
<tr>
<td width="200"> </td><td width="500"><img src='hours.gif' border=0></td>
</tr>
<tr><td align='right'> Fri 07/10/2011 </td><td><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col00');"><img src='yellow.gif' name='20111007row05col00' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col01');"><img src='yellow.gif' name='20111007row05col01' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col02');"><img src='yellow.gif' name='20111007row05col02' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col03');"><img src='yellow.gif' name='20111007row05col03' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col04');"><img src='yellow.gif' name='20111007row05col04' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col05');"><img src='yellow.gif' name='20111007row05col05' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col06');"><img src='yellow.gif' name='20111007row05col06' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col07');"><img src='yellow.gif' name='20111007row05col07' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col08');"><img src='yellow.gif' name='20111007row05col08' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col09');"><img src='yellow.gif' name='20111007row05col09' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col10');"><img src='yellow.gif' name='20111007row05col10' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col11');"><img src='yellow.gif' name='20111007row05col11' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col12');"><img src='yellow.gif' name='20111007row05col12' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col13');"><img src='yellow.gif' name='20111007row05col13' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col14');"><img src='yellow.gif' name='20111007row05col14' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col15');"><img src='yellow.gif' name='20111007row05col15' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col16');"><img src='yellow.gif' name='20111007row05col16' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col17');"><img src='yellow.gif' name='20111007row05col17' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col18');"><img src='yellow.gif' name='20111007row05col18' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col19');"><img src='yellow.gif' name='20111007row05col19' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col20');"><img src='yellow.gif' name='20111007row05col20' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col21');"><img src='yellow.gif' name='20111007row05col21' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col22');"><img src='yellow.gif' name='20111007row05col22' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111007row05col23');"><img src='yellow.gif' name='20111007row05col23' border=0></a></td></tr>
<tr><td align='right'> Sat 08/10/2011 </td><td><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col00');"><img src='yellow.gif' name='20111008row06col00' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col01');"><img src='yellow.gif' name='20111008row06col01' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col02');"><img src='yellow.gif' name='20111008row06col02' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col03');"><img src='yellow.gif' name='20111008row06col03' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col04');"><img src='yellow.gif' name='20111008row06col04' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col05');"><img src='yellow.gif' name='20111008row06col05' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col06');"><img src='yellow.gif' name='20111008row06col06' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col07');"><img src='yellow.gif' name='20111008row06col07' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col08');"><img src='yellow.gif' name='20111008row06col08' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col09');"><img src='yellow.gif' name='20111008row06col09' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col10');"><img src='yellow.gif' name='20111008row06col10' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col11');"><img src='yellow.gif' name='20111008row06col11' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col12');"><img src='yellow.gif' name='20111008row06col12' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col13');"><img src='yellow.gif' name='20111008row06col13' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col14');"><img src='yellow.gif' name='20111008row06col14' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col15');"><img src='yellow.gif' name='20111008row06col15' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col16');"><img src='yellow.gif' name='20111008row06col16' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col17');"><img src='yellow.gif' name='20111008row06col17' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col18');"><img src='yellow.gif' name='20111008row06col18' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col19');"><img src='yellow.gif' name='20111008row06col19' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col20');"><img src='yellow.gif' name='20111008row06col20' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col21');"><img src='yellow.gif' name='20111008row06col21' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col22');"><img src='yellow.gif' name='20111008row06col22' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111008row06col23');"><img src='yellow.gif' name='20111008row06col23' border=0></a></td></tr>
<tr><td align='right'> Sun 09/10/2011 </td><td><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col00');"><img src='yellow.gif' name='20111009row07col00' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col01');"><img src='yellow.gif' name='20111009row07col01' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col02');"><img src='yellow.gif' name='20111009row07col02' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col03');"><img src='yellow.gif' name='20111009row07col03' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col04');"><img src='yellow.gif' name='20111009row07col04' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col05');"><img src='yellow.gif' name='20111009row07col05' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col06');"><img src='yellow.gif' name='20111009row07col06' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col07');"><img src='yellow.gif' name='20111009row07col07' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col08');"><img src='yellow.gif' name='20111009row07col08' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col09');"><img src='yellow.gif' name='20111009row07col09' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col10');"><img src='yellow.gif' name='20111009row07col10' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col11');"><img src='yellow.gif' name='20111009row07col11' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col12');"><img src='yellow.gif' name='20111009row07col12' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col13');"><img src='yellow.gif' name='20111009row07col13' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col14');"><img src='yellow.gif' name='20111009row07col14' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col15');"><img src='yellow.gif' name='20111009row07col15' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col16');"><img src='yellow.gif' name='20111009row07col16' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col17');"><img src='yellow.gif' name='20111009row07col17' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col18');"><img src='yellow.gif' name='20111009row07col18' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col19');"><img src='yellow.gif' name='20111009row07col19' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col20');"><img src='yellow.gif' name='20111009row07col20' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col21');"><img src='yellow.gif' name='20111009row07col21' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col22');"><img src='yellow.gif' name='20111009row07col22' border=0></a><a href="javascript:void(0)" onclick="javascript:toggleimg('20111009row07col23');"><img src='yellow.gif' name='20111009row07col23' border=0></a></td></tr>
<tr><td> <hr </td></tr>
</table>
<input type="hidden" name="availabilityarray" value="">
<input type="submit" value="Submit Hours">
</form>
</body>
</html>
var arr=新数组();//创建我们的阵列
var convexisting=“;//创建一个空变量,我们稍后检查
如果(!Array.prototype.indexOf)//IE8及以下版本
{
Array.prototype.indexOf=函数(elt/*,from*/)
{
var len=this.length>>>0;
var from=Number(参数[1])| | 0;
from=(from<0)
?数学单元(来自)
:数学。地板(从);
如果(从<0开始)
from+=len;
for(;fromname=
属性在
标记上没有意义。如果您真正想要的是一个id,那么显式地设置id=
您可能需要熟悉jQuery JS库。它使许多类似这样的任务变得更加容易。在
标记上,name=
属性没有意义。如果您真正想要的是一个id,那么显式地设置id=
您可能需要熟悉jQuery JS库。它使许多类似的任务变得更加容易。您的问题是使用name属性的值,但将其与getElementById一起使用,后者对id属性有效。因为每个name属性值都是唯一的,所以您可以将它们更改为id属性,代码应该可以工作。或者你可以把电话改成
由于getElementsByName返回一个集合,因此如果采用这种方法,则需要选择返回集合的第一个成员,如下所示:
if (document.getElementsByName(itemname)[0].src ...)
但要保持强健,您需要:
var el = document.getElementsByName(itemname)[0];
if (el && el.src == ...) {
...
}
对getElementById的调用也应该采用类似的方法
使用getElementById的代码在IE(以及一些模仿其行为的浏览器)中工作,因为它总是混淆名称和id属性,将它们本质上视为同一事物。它在符合标准的浏览器中不起作用,在IE9的标准模式下可能也不起作用。您的问题是,您使用的是name属性的值,但它与getElementById一起使用,getElementById对id属性起作用。因为每个name属性值都是唯一的,所以您可以将它们更改为id属性,代码应该可以工作。或者你可以把电话改成
由于getElementsByName返回一个集合,因此如果采用这种方法,则需要选择返回集合的第一个成员,如下所示:
if (document.getElementsByName(itemname)[0].src ...)
但要保持强健,您需要:
var el = document.getElementsByName(itemname)[0];
if (el && el.src == ...) {
...
}
对getElementById的调用也应该采用类似的方法
使用getElementById的代码在IE(以及一些模仿其行为的浏览器)中工作,因为它总是混淆名称和id属性,将它们本质上视为同一事物。它在符合标准的浏览器中不起作用,在IE9标准模式下可能也不起作用。Chromium声明:uncaughtTypeError:无法读取null的属性“src”(timeclick2.php:34)
。顺便说一句:if(convexisting!=“”)
不检查测试变量是否为空,但如果变量包含除单个空格字符以外的任何内容。在非IE中,图形不会在黄色和蓝色之间切换。feeela-是,这是正确的。当我使用代码检查变量是否已设置时,我不断得到未定义的错误,因此为了简单起见,在第一次运行脚本时,它将变量设置为一个空格,第二次运行时(例如:将数据发布到脚本中)PHP echo将正确的值转换为convexisting,然后提取并处理该值。Chromium状态:未捕获类型错误:无法读取null的属性“src”(timeclick2.PHP:34)
。顺便说一句:if(对流!=“”)