Javascript 使用wicket禁用按钮时是否更改组件的类名?

Javascript 使用wicket禁用按钮时是否更改组件的类名?,javascript,html,wicket,Javascript,Html,Wicket,例如: <span class="button4"> <button wicket:id="saveButton" type="submit"> <wicket:message key="modalArchiveAccount.button.save" /> </button> </span> 根据java代码,我将此按钮设置为启用或禁用,问题是当按钮被禁用时,我不知道如何更改span className。

例如:

<span class="button4">
   <button wicket:id="saveButton" type="submit">
     <wicket:message key="modalArchiveAccount.button.save" />
   </button>
</span> 


根据java代码,我将此按钮设置为启用或禁用,问题是当按钮被禁用时,我不知道如何更改span className。

在按钮周围包装一个WebMarkupContainer

var jSpan = $('#saveButton').parent();
jSpan.removeClass( 'button4' );
jSpan.addlass( someclass );
add(new WebMarkupContainer("spanId") {
                    {
                        add(new Button<String>("saveButton")){
                        [... button logic...]
                        };
                    }
                });

<span wicket:id="spanId">
   <button wicket:id="saveButton" type="submit">
     <wicket:message key="modalArchiveAccount.button.save" />
   </button>
</span> 
add(新的WebMarkupContainer(“spanId”){
{
添加(新按钮(“保存按钮”)){
[…按钮逻辑…]
};
}
});

然后向WebMarkupContainer添加一个新的AttributeModifier(“类”,…)或AttributeAppender(“类”,…),该容器使用与禁用按钮相同的逻辑。

以下是示例代码:

       final Button  button=new Button("buttn") {
            public void onSubmit() {
                System.out.println("change....");
                setEnabled(false);
            };
        };
        button.add(new AttributeModifier("class", true, new Model<Serializable>() {
            @Override
            public Serializable getObject() {               
                if (button.isEnabled())
                    return "your_enabled_class";
                else return "your_disabled_class";
            }
        }));
final按钮=新按钮(“buttn”){
提交时公共无效(){
System.out.println(“更改…”);
setEnabled(假);
};
};
添加(新属性修改器(“类”,true,新模型)(){
@凌驾
公共可序列化的getObject(){
if(button.isEnabled())
返回“您的\u启用的\u类”;
否则返回“您的禁用类”;
}
}));

您想在发送请求之前(避免两次提交表单)还是在请求之后(出于任何其他原因…)禁用该按钮?