2014-01-16 9 views
1

У меня есть поля ввода, которые динамически создаются с использованием JS. Дело в том, что когда я отправляю страницу, сеттеры Bean не вызывают, за исключением случаев использования IE. Он работает только в Chrome и Firefox, когда я добавляю поля ввода статически в код.Struts 1 submit only works in IE

Это работает во всех браузерах:

<input name="test" value="test"/> 

это работает только в IE:

var test = document.createElement('input'); 
test.name = 'test'; 
test.value = 'test'; 
tbody.appendChild(test); 

Кто-нибудь знает решение, пожалуйста?

ответ

1

Это была моя ошибка. Тег form был внутри моего тега table.

0

Если это элемент таблицы tbody, как следует из названия переменной, то это неверная разметка. tbody может иметь только строки в качестве ребенка.

+0

находится внутри

. Если я добавлю непосредственно в код (внутри ), он отлично работает. Но добавление их с помощью JS работает только в IE. Спасибо, в любом случае. –

+0

Он работает, когда вы помещаете его напрямую, потому что браузер исправляет ваш недопустимый код! Используйте консоль браузеров и осмотрите html после его рендеринга, посмотрите, где находится элемент. Вам нужно добавить его к td, который находится внутри tr, который находится внутри вашего тела. Или просто добавьте его после таблицы. – epascarello

+0

Пробовал после таблицы. Использовал этот статический код внутри td внутри a tr. И снова попытался вставить JS, используя это: var TRtest = document.getElementById ('TRtest'); \t var newTD = document.createElement ('td'); \t var input = document.createElement ('input'); \t input.name = 'test'; \t input.value = 'test'; \t новыйTD.appendChild (вход); \t TRteste.appendChild (newTD) ;. Та же проблема. По сравнению с html-рендером, и они выглядели совершенно одинаково, за исключением того факта, что на проверке DOM только статический имел на нем прослушиватель событий. Спасибо за комментарий. –

1

Этот парень имел такую ​​же проблему:

http://forums.mozillazine.org/viewtopic.php?f=25&t=518697&p=2742491 

Try с помощью HTML: переписать, чтобы добавить новые входы.

+0

Можете ли вы уточнить, как использовать html: переписать в этом случае? –