g: submitButton条件启用/禁用

g:submitButton conditional enable/disable

本文关键字:禁用 启用 条件 submitButton      更新时间:2023-09-26

表单中有一个字段默认禁用了提交按钮。如果该字段为空,则提交按钮将保持禁用状态。如果不为空,提交按钮将启用。清除该字段后,将再次禁用该按钮。

我尝试了各种方法来访问元素并检查它是否为空,但都没有成功,但即使在添加字符后清除了字段,提交按钮也会保持启用状态。有趣的是,if(document.getElementById('Internal_c_dummy').value!='')即使字段已清除,也不会为false。

你能告诉我我在这里缺了什么吗?

非常感谢!!

<g:hiddenField name="Internal__c" value="${Instance?.Internal__c}"/>
<g:textField class="internal-text" name="Internal__c_dummy" onchange="this.form.elements['Internal__c'].value = this.value" onkeyup="checkInternalText();" maxlength="20" />
<script type="text/Javascript">    
    function checkInternalText()
    {     
    	 var empty = false; //Specifies if required fields are populated
    	 var submitElement = document.getElementById('Submit') 
    	 if(document.getElementById('Internal__c_dummy').value != '')
         {
             alert('not empty')
             submitElement.removeAttribute('disabled');
         }      
         else{
             alert('empty')
             submitElement.setAttribute('disabled','true');
         }
    }
</script>
           		 
//Button
<g:submitButton name="Submit" class="Submit" value="Submit" disabled="true"/>

而不是

document.getElementById('Internal__c_dummy').value != ''

在if语句中使用其中一个:

1.

if($('#Internal__c_dummy').val())

2.

if($('#Internal__c_dummy').val().length !== 0)

3.

if(document.getElementById('Internal__c_dummy').value)

还有一个类似的问题,因为grails文本字段是作为输入呈现的。