默认情况下,“提交”按钮被禁用的表单中有一个字段。如果该字段为空,则提交按钮将保持禁用状态。如果不为空,则提交按钮即可启用。清除该字段后,该按钮将再次被禁用。
我尝试了各种方法来访问该元素并检查它是否为空但未成功但提交按钮仍然处于启用状态,即使在添加字符后清除字段也是如此。有趣的是,即使字段被清除,if(document.getElementById(' Internal__c_dummy')。value!='')也不会为假。
请你指出我在这里缺少的东西?
非常感谢!!
<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"/>
&#13;
答案 0 :(得分:1)
而不是
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)
而there是一个类似的问题,因为grails textfield会呈现为输入。