gpt4 book ai didi

javascript - 如何更改 Dojo 框架中的按钮类型属性

转载 作者:行者123 更新时间:2023-12-03 08:50:08 25 4
gpt4 key购买 nike

目前我正在使用 Dojo 框架开发应用程序。

我想当我单击安装按钮时,该按钮的属性应从 type = "button" 更改至type = "submit"使用dojo框架。

这是我的代码。

<button id="btn_vcenterconfiguration_Ok" data-dojo-type="dijit.form.Button" class="submitform" type="button" value="Install"> 
<script type="dojo/method" data-dojo-event="onClick" data-dojo-args="e">
form = getForm(this);
doSubmit1({
form: form,
event: e,
url: '{% url "vcp_home" %}',
});

</script>

我的 html 页面显示 <span widgetId='btn_vcenterconfiguration_Ok'>页面渲染后。这就是为什么document.getElementById('btn_vcenterconfiguration_Ok').type = "submit" 。代码不工作。

提前致谢:) :)

最佳答案

嗯,根据 dijit/form/Button API 文档,您可以设置一个 type 属性,例如:

this.set('type', 'submit'); // 'this' is your widget instance

但是,当模板在小部件的 buildRendering 生命周期阶段渲染时,此属性似乎仅使用一次。因此,不支持开箱即用地更新属性,但您可以自己实现:

declare("custom.TypeButton", [Button], {
_setTypeAttr: function(type) {
this.type = type;
this.valueNode.setAttribute('type', type);
}
});

这将扩展 Button,但我们使用 _setTypeAttrtype 属性使用自定义 setter 。

现在,您不再使用 data-dojo-type="dijit.form.Button",而是使用 data-dojo-type="custom.TypeButton"然后将代码修改为:

<button id="btn_vcenterconfiguration_Ok" data-dojo-type="dijit.form.Button" class="submitform" type="button" value="Install"> 
<script type="dojo/method" data-dojo-event="onClick" data-dojo-args="e">
form = getForm(this);
doSubmit1({
form: form,
event: e,
url: '{% url "vcp_home" %}',
});
this.set('type', 'submit'); // Change button type
</script>
</button>

这应该可以解决问题。完整的示例可以在 JSFiddle 上找到:http://jsfiddle.net/3g46kpch/

关于javascript - 如何更改 Dojo 框架中的按钮类型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715040/

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