如何将值传递给wicket中的javascript函数
how to pass the value to the javascript function in wicket
我有一个要求,每个事件都需要被捕获,比如页面加载和uiclick。基本上,我必须在页面本身的img标记中显示用户看不到的信息。因此,对于页面加载,我已经完成了img标记和从wicket获取的src。但是在uiclick事件中,我必须执行异步调用。
我试过像这个
<input type="button" onclick="makeRequest(wicket:id="clickImage",'GET', null, null,'CLICKSTREAM')" name="add" value="SIGN IN">
但我得到了例外
,index=39,current=[原始标记]]网址:org.apache.wicket.markup.AbstractMarkupParser.parseMarkup(AbstractMarkupPather.java:299)网址:org.apache.wicket.markup.AbstractMarkupParser.parse(AbstractMarkupPather.java:181)网址:org.apache.wicket.markup.loarder.SimpleMarkupLoader.loadMarkup(SimpleMarkupLoader.java:50)网址:org.apache.wicket.markup.loarder.InheritedMarkupMarkupLoader.loadMarkup(InheritedMarkupMarkupLoader.java:55)网址:org.apache.wicket.markup.loader.DefaultMarkupLoader.loadMarkup(DefaultMarkupLoader.java:51)网址:org.apache.wicket.markup.MarkupFactory.loadMarkup(MarkupFactory.java:430)网址:org.apache.wicket.markup.MarkupCache.loadMarkup(MarkupCache.java:442)
我不确定您想要实现什么,但似乎用Wicket Button
建模<input type="button">
并在其上附加SimpleAttributeModifier
甚至Ajax Behavior更适合您,特别是如果您正在向自己的应用程序发出异步请求的话。
在JS函数的参数中使用wicket:id
是没有意义的。您在HTML中使用wicket:id
来将Wicket组件附加到标记。如果clickImage
只是一个普通的HTML id
属性,只需将其键入为字符串即可。
例如:
<input type="text" id="someId"> <!-- Notice this is not a Wicket component -->
<input type="button" wicket:id="buttonComponent" onclick="makeRequest('someId','GET', null, null,'CLICKSTREAM'">
如果您事先不知道id
,因为它可能是按常规生成的,请在组件中使用setOutputMarkupId(true)
,并使用SimpleAttributeModifier为onclick
事件处理程序建模。您可以使用getMarkupId()
获取组件的标记id。
例如:
HTML:
<input type="text" wicket:id="textComponent">
<input type="button" wicket:id="buttonComponent">
Java
TextField txt = new TextField("textComponent");
txt.setOutputMarkupId(true);
txt.setMarkupId("someId"); // Make sure it is unique in the page
Button b = new Button("buttonComponent");
b.add(new SimpleAttributeModifier("onclick", "makeRequest('" + txt.getMarkupId() + "','GET', null, null,'CLICKSTREAM'"));
add(txt);
add(b);
渲染HTML:
<input type="text" id="someId">
<input type="button" onclick="makeRequest('someId','GET', null, null,'CLICKSTREAM'">
第二种方法的功能要强大得多,例如,您可以将AttributeModifiers
添加到中继器内的元素中,这样您就只能将运行时已知的、生成的id
传递给javascript函数。
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 可以't让我的if语句处理js中的html表单输入
- 引用对象中的通用值
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 不能从angular2中的子组件指定父组件中的数组
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- 如何在JUnit测试中测试wicket上的附加javascript ajaxBehavior
- 如何将值传递给wicket中的javascript函数
- 如何将 “onchange” SimpleAttributeModifier 添加到 Apache Wicket 中的
- 在Wicket ModalWindow中使用Panel时,HTML中的Javascript不起作用
- 读取JavaScript中的wicket id值
- wicket组件中的prompt()
- 将Wicket中的AjaxFormComponentUpdatingBehaviors链接到单个Javascript事件
- 通过点击另一个Wicket Panel中的项目更新一个Wicket Panel
- 提交由javascript填充的表单会在Wicket中显示空值
- 防止在Wicket中删除刷新时的反馈信息