gpt4 book ai didi

javascript - 如何在 AjaxLink (Wicket) 的 onSubmit 方法中调用 Ajaxdecorator 或 javascript

转载 作者:行者123 更新时间:2023-11-28 02:47:59 27 4
gpt4 key购买 nike

public class engageLink extends AjaxLink{
private Engage engage;
private String name;

engageLink(String string, Engage anEngage,String name) {
super(string);
this.engage = anEngage;
this.name = name;
hasEngage=((Application) getApplication()).getVtb().hasEngagement(engage,name);
if(hasEngage)
this.add(new AttributeAppender("onclick", new Model("alert('This is my JS script');"), ";"));
}
boolean randevuAlmis;


@Override
public void onClick(AjaxRequestTarget target) {

if(hasEngage){
//do nothing or call ajax on failure script
} else{
((Application) getApplication()).getVtb().addEngagement(engage, name);
}
setResponsePage(new Sick(name));
}
@Override
protected org.apache.wicket.ajax.IAjaxCallDecorator getAjaxCallDecorator()
{
return new AjaxCallDecorator()
{
@Override
public CharSequence decorateOnSuccessScript(CharSequence script)
{
return "alert('Success');";
}

@Override
public CharSequence decorateOnFailureScript(CharSequence script)
{
return "alert('Failure');";
}



};
};
}

这是我的代码。在单击方法中,我调用 ajax onfailure 脚本。但它不起作用。

我尝试在构造函数中添加 javascript。它也不起作用。

问题是什么。

注意我调用 ajaxdecorator 类似;

getAjaxCallDecorator().decorateOnFailureScript("some message");

我该如何解决这些问题。

谢谢

最佳答案

您是否尝试在没有失败的情况下调用失败脚本?如果是这种情况,您可以调用:

target.appendJavascript("alert('Failure');");

target.appendJavascript(getAjaxCallDecorator().decorateOnFailureScript("some message"));

但是,您在 onClick() 方法末尾调用 setResponsePage() ,我认为这可能会阻止执行任何脚本,因为您正在重定向到另一个页面,而不是简单地执行 ajax 响应。

关于javascript - 如何在 AjaxLink (Wicket) 的 onSubmit 方法中调用 Ajaxdecorator 或 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4464839/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com