Функция JavaScript не работает в Google Chrome

0

Вложенный код - это мой код. Когда я нажимаю "Загрузить больше файлов", функция addElement добавит один файл обзора. Он работает в IE, но не работает в Google Chrome. В Chrome, когда я нажимаю на кнопку, он даже не отвечает.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<script>

var fCount = 1;
function addElement() {

fCount++;

var fObject = document.getElementById('fileSection');
var text = 'File:';
var tag='<input type="file" name="theFile[' +  fCount +  ']" value="">';
var brk='<br>'
var o1 = document.createTextNode(text);
var o2 = document.createElement(tag);
var o3 = document.createElement(brk);

   fObject.appendChild(o3);
   fObject.appendChild(o1);
   fObject.appendChild(o2);
   fObject.appendChild(o3);

  alert("fCount" + fCount);

}

</script>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body bgcolor="pink">

<html:form action="/myActionForm" method="post"
    enctype="multipart/form-data">

            <div id="fileSection">
            Select file to upload <html:file property="theFile[0]"/><br>
            </div>
        <html:button property="bt" onclick="addElement()">Upload More files</html:button>


    <html:submit></html:submit>
    <br>
    <br>

</html:form>
</body>
</html>
  • 2
    Не могли бы вы предоставить вместо этого предоставленный HTML-код ?! Любая ошибка в консоли? Событие клика сработало или нет?
  • 3
    почему люди не предоставляют свои ошибки консоли?
Показать ещё 2 комментария
Теги:
struts

1 ответ

1
Лучший ответ

Это связано с тем, что вам необходимо передать tag name методу createElement. Не фрагмент элемента. IE всегда странный, может быть работа, но это неправильно.

Правильный способ:

var tag = document.createElement('input');
tag.setAttribute('type', 'file');
tag.setAttribute('name', 'theFile[' +  fCount +  ']');
  • 0
    Привет, спасибо за вашу помощь. Сейчас работает. :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню