SharePoint奇怪的行为?

时间:2010-01-19 11:02:49

标签: javascript sharepoint-2007

我对Sharepoint有一个奇怪的行为问题。

我正在内容编辑器网络部分测试一些javascript并运行此问题。 在普通HTML页面中动态创建DOM元素时,如下所示,我可以从创建的元素中检索值。

但是,当我在Sharepoint Content Editor Web部件中尝试此操作时,我从SharePoint页面返回JS错误,声明:“0.value1”为null或不是对象。

知道为什么会这样吗?

<head>
<script type="text/javascript">
function WriteElements() 
{
    var input = document.createElement("input");
    input.setAttribute("type", "hidden");
    input.setAttribute("name", "BLABLA");
    input.setAttribute("value1", "ASDFASDFZXCV");

    document.getElementById('theUL').appendChild(input);
    var i = document.getElementsByName("BLABLA");
    alert(i[0].value1);
    return;
}
</script>
</head>
<body>
<ul id="theUL"></ul>
<p><input id="Button1" type="button" value="button" onclick="WriteElements();"/></p>
</body>

2 个答案:

答案 0 :(得分:0)

我无法确切地告诉你问题是什么。我的猜测是IE不会很快解析DOM,因此document.getElementsByName失败。

这对我有用:

<script type="text/javascript">
function WriteElements() {
    var input = document.createElement("input");    
    input.id = "BLABLA";    
    input.setAttribute("type", "hidden");
    input.setAttribute("value1", "ASDFASDFZXCV");

    document.getElementById('theUL').appendChild(input);
    var button = document.getElementById("BLABLA");
    alert(button.value1);
    return;
}
</script>
<ul id="theUL"></ul>
<p><input id="Button1" type="button" value="button" onclick="WriteElements();"/></p>

答案 1 :(得分:0)

事实上,即使您使用上面发布的代码创建“普通”html页面;它不起作用。

value1不是“input”类型对象的属性,它是一个属性,它以不同的方式检索。