Javascript 隐藏令牌显示在IE10的第页上

Javascript 隐藏令牌显示在IE10的第页上,javascript,jsp,internet-explorer-10,jsp-tags,hidden-field,Javascript,Jsp,Internet Explorer 10,Jsp Tags,Hidden Field,我正在寻求帮助(建议),了解以下代码中可以更改哪些语法或其他内容,以确保隐藏令牌不会在任何浏览器中显示(隐藏)。我对IE7、Chrome或Firefox中的以下代码没有问题。另一方面,IE10不喜欢某些内容,并且隐藏令牌会显示在屏幕上 <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> <script type="text/javascript"> WF.onWRIAReady({}, fun

我正在寻求帮助(建议),了解以下代码中可以更改哪些语法或其他内容,以确保隐藏令牌不会在任何浏览器中显示(隐藏)。我对IE7、Chrome或Firefox中的以下代码没有问题。另一方面,IE10不喜欢某些内容,并且隐藏令牌会显示在屏幕上

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>

 <script type="text/javascript">
WF.onWRIAReady({},
function() {
    WF.onDOMReady(addCsrfToken);
});

function addCsrfToken() {
    var csrf = '<c:out value="${sessionScope['csrfToken']}" />';
    //alert(csrf);
    for (var i = 0; i < document.forms.length; i++) {
        currentForm = document.forms[i];
        addHiddenInputField(currentForm, "csrfToken", csrf);
    }
}

function addHiddenInputField(formElement, fieldName, fieldValue) {
    var existingElement = null;

    for (var i = 0; i < formElement.elements.length; i++) {
        if (formElement.elements[i].name == fieldName) {
            existingElement = formElement.elements[i];
            break;
        }
    }

    if (existingElement == null) {
        var inputElement = document.createElement("input");
        inputElement.setAttributeNode(createHtmlAttribute("type", "hidden"));
        inputElement.setAttributeNode(createHtmlAttribute("name", fieldName));
        inputElement.setAttributeNode(createHtmlAttribute("id", fieldName));
        inputElement.setAttributeNode(createHtmlAttribute("value", fieldValue));
        formElement.appendChild(inputElement);
    }
    else {
        existingElement.value = fieldValue;
    }
}

function createHtmlAttribute(name, value) {
   var attribute = document.createAttribute(name);
   attribute.nodeValue = value;
   return attribute;
}

WF.onWRIAReady({},
函数(){
WF.onDOMReady(addCsrfToken);
});
函数addCsrfToken(){
var csrf=“”;
//警报(csrf);
对于(var i=0;i


提前感谢您对我的问题提供的任何帮助

在非常旧的IE版本中存在一个bug,您无法使用
setAttribute
进行输入并更改其
类型
。使用直接表示法应该有效

var input = document.createElment("input");
input.type = "hidden";