禁用提交按钮直到验证

时间:2011-09-06 10:57:09

标签: dojo

有没有办法使用dojo / dijit来禁用提交按钮,直到表单中的所有字段都有效。有点像在表格中有dojo > method > onChange吗?因此,只有当所有表单元素都符合其条件时,才会启用提交按钮吗?

2 个答案:

答案 0 :(得分:2)

您使用dijit.form.Form小部件作为表单吗?如果您是,我建议您加入Form的{​​{1}}活动。此事件的docs具体说明了您的用例:

onValidStateChange

查看给定窗口小部件可用事件的最佳方法是在“事件摘要”标题下查看您感兴趣的窗口小部件的API Documentation。 dojocampus参考文档经常省略了对小部件的一些更加模糊的功能的引用的例子。

答案 1 :(得分:0)

我建议有一个隐藏按钮,提交表格。当您单击visbile按钮时,运行一个验证所有输入的javascript函数,然后单击隐藏按钮以提交表单。请找到下面的伪代码

    <form action="register">
    <input dojoType="dijit.validation.TextBox"/>
    <button onClick="validateall()">submit</button>
    <button id="submitForm" type="submit" hidden="true"/> 
    </form> 

    function validateAll(){
      if(AllOk){
             clearErrorMessage();
             dojo.byId('submitForm').click();
    }else{
     showErrorMessage();
   }