Javascript 隐藏令牌显示在IE10的第页上
我正在寻求帮助(建议),了解以下代码中可以更改哪些语法或其他内容,以确保隐藏令牌不会在任何浏览器中显示(隐藏)。我对IE7、Chrome或Firefox中的以下代码没有问题。另一方面,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
<%@ 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";