为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁星点点滴滴 2018-10-10 05:06:54
最近使用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;    }}这一句上,请指点是什么原因?
查看完整描述

2 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

按这段程序的写法,臆测下意思,你这里说的 “对象不支持此属性或方法”,应该是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。这就应该是程序本身的意思。


查看完整回答
反对 回复 2018-10-25
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

代码兼容性问题,把代码改得通用性好些就成

查看完整回答
反对 回复 2018-10-25
  • 2 回答
  • 0 关注
  • 764 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信