【发布时间】:2012-01-12 12:32:51
【问题描述】:
我有一个 VS2010,C# ASP.NET 网络应用程序,我编写了一个 JavaScript(在 aspx 页面中),它在 Firefox 中完美运行,但在 chrome 或 IE 中几乎没有任何作用,这是我的功能:
<script type="text/javascript" >
function onRadioChange(rowIndex, value, myHref) {
var q = document.getElementById('HF').value.toString();
var q2 = q.split(',');
var new_HF = '';
for (var i = 0; i < rowIndex; i++) {
new_HF += q2[i] + ',';
}
new_HF += value.toString() + ',';
for (var j = rowIndex; j < q2.length - 1; j++) {
if (j > rowIndex) {
new_HF += q2[j] + ',';
}
}
document.getElementById('HF').value = new_HF;
//user has voted all questions? enable hpAccept so that he can go to next questionnaire
var q5 = new_HF.split(',');
var all_ok = true;
for (var g = 0; g < q5.length; g++) {
if (q5[g] == '0')
all_ok = false;
}
if (all_ok) {
document.getElementById('hpAccept').disabled = false;
document.getElementById('hpAccept').href = myHref;
}
}
这个函数好像在 IE 或 chrome 中没有任何作用,我放置并提醒显示一些信息,但在 chrome 或 IE 中没有显示任何内容,它们有什么问题?
另一个问题是最后部分,超链接最初是禁用的,但在Firefox中启用它在IE或chrome中没有运气,这里有什么问题?如何让这个功能跨浏览器?
[EDIT] 我在函数定义行之后放了一个alert('1'),我在chrome和IE中什么也没看到,似乎这些浏览器没有调用这个函数,我用r.Attributes.Add("onChange", "return onRadioChange('" + (i - 1).ToString() + "','1','" + myHref + "');");为了在代码隐藏中调用这个函数,r 是一个动态创建的单选按钮。
【问题讨论】:
-
您检查控制台是否有错误?在 Chrome 中:右键单击任意位置 -> 检查元素 -> 控制台
-
试试
removeAttribute('disabled'); -
好像在all_ok之前报错了,应该在哪里使用removeattribute?
-
我在函数定义行之后放了一个alert('1'),我在chrome和IE中什么也没看到,似乎这些浏览器没有调用这个函数,我使用r.Attributes.Add ("onChange", "return onRadioChange('" + (i - 1).ToString() + "','1','" + myHref + "');");为了在代码隐藏中调用这个函数,r 是一个动态创建的单选按钮
-
您在控制台中遇到的错误是什么?
标签: javascript