2014-01-16 70 views
1

我有一些使用JS动态创建的输入字段。问题是,当我提交页面时,除了使用IE时,Bean的setter不会被调用。当我在代码上静态添加输入字段时,它只适用于Chrome和Firefox。Struts 1仅在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里面的td里面。或者只是将它附加在表格后面。 – epascarello

+0

尝试追加表格后。在tr中的td内使用此静态代码。并试着再次使用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 newTD.appendChild(input); \t TRteste.appendChild(newTD);.同样的问题。比较呈现的HTML和他们看起来完全相同,除了在DOM检查上只有静态的有一个事件监听器的事实。感谢您的评论。 –

1

这家伙有同样的问题:使用HTML

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

尝试:重写增加新的投入。

+0

在这种情况下,你可以更具体地说明如何使用html:rewrite。 –