【发布时间】:2011-01-20 14:22:24
【问题描述】:
我遇到了从 Wicket Java 代码调用 JavaScript 的问题。我有一个包含两个文本字段、一个按钮和一个隐藏字段的表单。我想连接文本字段的文本,并在单击该按钮时使用 JavaScript 将连接的文本设置为隐藏字段。
这是我的代码:
Java:
Form form = new Form("field");
form.setOutputMarkupId(true);
TextField textField1 = new TextField("field1");
textField1.setOutputMarkupId(true);
form.add(textField1);
TextField textField2 = new TextField("field2");
textField2.setOutputMarkupId(true);
form.add(textField2);
HiddenField hiddenField = new HiddenField("hiddenField");
hiddenField.setOutputMarkupId(true);
form.add(hiddenField);
Button concatButton = new Button("concat");
concatButton.add(new SimpleAttributeModifier("onclick", "concat"));
form.add(concatButton);
JavaScript:
<script type="javascript">
function concat() {
var val1=document.getElementById("field1").value;
var val2=document.getElementById("field2").value;
document.getElementById("hiddenField").value=val1+val2;
}
</script>
但它不起作用。任何信息都会对我很有帮助。谢谢。
注意:我也尝试过AjaxSubmitButton,但这给了我一个错误。
【问题讨论】:
-
1) 请正确格式化您的代码 2) 如果没有看到 Wicket 生成的源 HTML,这是无法回答的。
-
你能告诉我们生成的html吗?
-
为什么需要这个?您要解决的实际问题是什么? Wicket 可能有一种更有效的方式来实现你想要的。
-
这是我的 HTML 代码: 在我的第一篇文章中,我尝试显示此代码,但 html 未显示.
-
好吧,您的 javascript 函数不起作用,因为您的表单元素都没有 id - 您传递给 Wicket 构造函数的是 wicket:id。请参阅 tetsuo 关于如何改变这种行为的回答。
标签: java javascript wicket