开发者

SharePoint strange behavior?

开发者 https://www.devze.com 2022-12-16 17:22 出处:网络
I have a strange Behaviour issue with Sharepoint. I\'m testing some javascript in the content editor web part and ran accross this issue.

I have a strange Behaviour issue with Sharepoint.

I'm testing some javascript in the content editor web part and ran accross this issue. When Creating DOM Elements dynamically in a normal HTML Page as shown below, I am able to retrieve the values from the created Element.

When I however try this in a Sharepoint Content Editor web part, I get the JS error back from the SharePoint Page stating : "0.value1" is null or not an object.

Any idea why this is happening?

<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("B开发者_运维知识库LABLA");
    alert(i[0].value1);
    return;
}
</script>
</head>
<body>
<ul id="theUL"></ul>
<p><input id="Button1" type="button" value="button" onclick="WriteElements();"/></p>
</body>


I can't tell you exactly what the problem is. My guess is that IE isn't reparsing the DOM soon enough, so document.getElementsByName fails.

This works for me:

<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>


In fact, even if you create a "normal" html page with the code you posted above; It doesn't work.

value1 is not a property of the object of type "input", it is an attribute and it's retrieved in a different fashion.

0

精彩评论

暂无评论...
验证码 换一张
取 消