У меня есть поля ввода, которые динамически создаются с использованием 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);
Кто-нибудь знает решение, пожалуйста?
Он работает, когда вы помещаете его напрямую, потому что браузер исправляет ваш недопустимый код! Используйте консоль браузеров и осмотрите html после его рендеринга, посмотрите, где находится элемент. Вам нужно добавить его к td, который находится внутри tr, который находится внутри вашего тела. Или просто добавьте его после таблицы. – epascarello
Пробовал после таблицы. Использовал этот статический код внутри 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 только статический имел на нем прослушиватель событий. Спасибо за комментарий. –
Этот парень имел такую же проблему:
Try с помощью HTML: переписать, чтобы добавить новые входы.
источник
2014-01-17 11:44:14
Можете ли вы уточнить, как использовать html: переписать в этом случае? –
Смежные вопросы