Javascript 当值出现问题时,禁用/启用按钮

Javascript 当值出现问题时,禁用/启用按钮,javascript,c#,asp.net-mvc,Javascript,C#,Asp.net Mvc,我有输入字段,其中3个是只读的。我想检查其中一个只读的值。如果存在,则应启用提交按钮,如果不存在,则保持禁用状态。 当值出现在字段actual\u operation\u date中时,如何使函数工作。 问题是我得到一个错误,我的函数不正确 HTML 实际运行日期 提交按钮 提交 Javascript 函数activeMe(){ var ac_opDate=$(“#实际操作日期”).val(); if(ac_opDate!=null){ $('#activeMe').attr('disab

我有输入字段,其中3个是只读的。我想检查其中一个只读的值。如果存在,则应启用提交按钮,如果不存在,则保持禁用状态。 当值出现在字段
actual\u operation\u date
中时,如何使函数工作。 问题是我得到一个错误,我的函数不正确

HTML


实际运行日期
提交按钮

提交
Javascript

函数activeMe(){
var ac_opDate=$(“#实际操作日期”).val();
if(ac_opDate!=null){
$('#activeMe').attr('disabled','disabled');
//document.getElementById(“activeMe”).disabled=true;
}
否则{
$('#activeMe').removeAttr('disabled');
//document.getElementById(“activeMe”).disabled=false;
}
}

由于您的输入字段是只读的,因此在某个地方,输入值会以编程方式发生更改。(与手动输入不同)

即使如此,jquery的onchange方法也会检测输入字段值的每一次更改。因此,在该输入上(在所有输入字段上(只读或非只读))以及在检测到任何更改时启用/禁用submit按钮,都可能有一个事件处理程序

$('#Actuall_Operation_Date')[0].onchange = function () 
{
    if (this.value == '') {
        $('#activeMe').attr('disabled', 'disabled');
    }else {
        $('#activeMe').removeAttr('disabled');
    }
};

由于您的输入字段是只读的,因此在某些地方,输入的值会以编程方式发生更改。(与手动输入不同)

即使如此,jquery的onchange方法也会检测输入字段值的每一次更改。因此,在该输入上(在所有输入字段上(只读或非只读))以及在检测到任何更改时启用/禁用submit按钮,都可能有一个事件处理程序

$('#Actuall_Operation_Date')[0].onchange = function () 
{
    if (this.value == '') {
        $('#activeMe').attr('disabled', 'disabled');
    }else {
        $('#activeMe').removeAttr('disabled');
    }
};

如果您的字段是只读的,并且它的值发生了变化,我想您应该有一些过程来更新该字段。如果是,则可以为这些只读字段创建onchange事件,检查值,然后启用submit按钮

$('#Actuall_Operation_Date')[0].onchange = function () 
{
    if (this.value == '') {
        $('#activeMe').attr('disabled', 'disabled');
    }else {
        $('#activeMe').removeAttr('disabled');
    }
};
例如:

 $('#Actuall_Operation_Date').on('change', function(){ 
  if($(this).val()==null || $(this).val()==''){
     $('#activeMe').prop('disabled', true);
  }else{
     $('#activeMe').prop('disabled', false);
   }
  })
如果有一组字段,则可以使用类选择器扩展所有字段的更改事件,而不是id

 $('.Actuall_Operation_Date').on('change', function(){ 
  if($(this).val()==null || $(this).val()==''){
     $('#activeMe').prop('disabled', true);
  }else{
     $('#activeMe').prop('disabled', false);
   }
  }) 

如果您的字段是只读的,并且它的值发生了变化,我想您应该有一些过程来更新该字段。如果是,则可以为这些只读字段创建onchange事件,检查值,然后启用submit按钮

$('#Actuall_Operation_Date')[0].onchange = function () 
{
    if (this.value == '') {
        $('#activeMe').attr('disabled', 'disabled');
    }else {
        $('#activeMe').removeAttr('disabled');
    }
};
例如:

 $('#Actuall_Operation_Date').on('change', function(){ 
  if($(this).val()==null || $(this).val()==''){
     $('#activeMe').prop('disabled', true);
  }else{
     $('#activeMe').prop('disabled', false);
   }
  })
如果有一组字段,则可以使用类选择器扩展所有字段的更改事件,而不是id

 $('.Actuall_Operation_Date').on('change', function(){ 
  if($(this).val()==null || $(this).val()==''){
     $('#activeMe').prop('disabled', true);
  }else{
     $('#activeMe').prop('disabled', false);
   }
  }) 

我认为代码是正确的,但不知道为什么会出现错误,请按照预期尝试下面的代码。希望对你有帮助

HTML


我认为代码是正确的,但不知道为什么会出现错误,请按照预期尝试下面的代码。希望对你有帮助

HTML


谢谢大家的回复谢谢大家的回复虽然你的代码可能会提供问题的答案,但请添加上下文/解释,以便其他人了解它的作用和原因。谢谢Theo的输入,我已经更新了答案。虽然你的代码可能会提供问题的答案,请为它添加上下文/解释,以便其他人了解它的功能以及它存在的原因。感谢Theo的输入,我已更新了答案。我已在下面的帖子中更新了JavaScript函数,该函数按预期工作,我希望它能帮助您。我已在下面的帖子中更新了JavaScript函数,该函数按预期工作,我希望它能帮助你。