我有一个名为SelectProdLineAssociationForm
我也发了这样的声明 -
public SelectProdLineAssociationForm selectProdLineAssociationForm =
new SelectProdLineAssociationForm();
现在在onclick事件上我想在内部类中设置一个值 所以我
document.forms[0].selectProdLineAssociationForm.selectedProdLineAssociationKey =
selectedProdLineAssociationKey;
其中selectedProdLineAssociationKey在javascript方法中传递
然后它给出了javascript错误
document.forms[0].selectProdLineAssociationForm
未定义
任何人都可以告诉我为什么以及如何解决这个问题
答案 0 :(得分:1)
您无法从javascript访问java方法或属性。 Javascript纯粹是客户端。
你可以这样做的一种方法是将属性打印到一个块中,然后你可以从javascript访问它,例如:
<script>
var selectedProdLineAssociationKey = '<%= SelectProdLineAssociationForm.selectProdLineAssociationForm.toString();=%>';
//...you can then use this variable else where in your script block
</script>
但是你将无法更改该值,除非你将其发回(并且具有在服务器端更改它的逻辑)。
答案 1 :(得分:0)
我要去Struts这里......(正如Massimiliano Fliri所说,你必须提供更多细节)。
您必须验证输入标记在HTML中的命名方式。根据您编写JSP的方式,您可能有一个名为selectProdLineAssociationForm.selectedProdLineAssociationKey
的输入标记(一个元素)。
此代码:
document.forms[0].selectProdLineAssociationForm.selectedProdLineAssociationKey
表示您的表单包含selectProdLineAssociationForm
,而selectedProdLineAssociationKey
又包含{{1}}(两个元素)。
这只是猜测你在做什么。如果您需要更多帮助,您必须提供更多信息。