asp.net Anthem控件不可用,点击事件按钮报错误: 对象不支持此属性或方法

最近使用anthem控件,点击事件按钮的时候经常报错误: 对象不支持此属性或方法,用IE调试就跳到

function Anthem_SetHiddenInputValue(form, name, value) {
    var input = null;
    if (form[name]) {
        input = form[name];
    } else {
        input = document.createElement("input");
        input.setAttribute("name", name);
        input.setAttribute("type", "hidden");
    }
    input.setAttribute("value", value);
    var parentElement = input.parentElement ? input.parentElement : input.parentNode;
    if (parentElement == null) {
        form.appendChild(input);
        form[name] = input;
    }
}

这一句上,请指点是什么原因?


繁星点点滴滴
浏览 765回答 2
2回答

慕雪6442864

按这段程序的写法,臆测下意思,你这里说的 “对象不支持此属性或方法”,应该是form可能是null或者不是程序中需要提供的那种对象类型。从程序的写法来看, if (form[name]) {        input = form[name];    } else {        input = document.createElement("input");        input.setAttribute("name", name);        input.setAttribute("type", "hidden");    }首先程序会判断form[name]是否存在,如果存在就会把form[name]赋值给input这个变量,不存在的时候程序创建一个input标签。input.setAttribute("value", value);设置input这个标签的value属性。var parentElement = input.parentElement ? input.parentElement : input.parentNode;这句话其实就是 获取对象(文档)层次中的父对象(parentElement是IE独有的,parentNode是w3c标准),if (parentElement == null) 这里判断这个父对象是否存在,如果存在那么就在form对象上添加一个子节点input,并设置form[name]=input。这就应该是程序本身的意思。

慕尼黑的夜晚无繁华

代码兼容性问题,把代码改得通用性好些就成
打开App,查看更多内容
随时随地看视频慕课网APP