0

很简单的问题。

我有几个 ASP RequiredFieldValdators 检查一些文本框。

开箱即用,它会在按下按钮时检查验证,除非满足所有字段,否则基本上会禁用它。

我还有一个带有一堆数据点的列表框,它将新数据加载到正在验证的文本框中。

我想确保用户在满足所有必填字段之前无法切换数据点。我如何“禁用”列表框(通过验证),类似于“禁用”按钮的方式

请随时要求澄清

4

3 回答 3

1

asp.net 验证器不提供这种有条件地禁用控件的功能。您将需要编写自己的验证器(非常困难,或参见Peter Blum)。更好地在文本框的模糊事件处理程序中处理它。

 <script type="text/javascript">
   $(document).ready(function(){
      $("#<%=yourTextbox.ClientID%>").blur(function(){
         $("#<%=yourDropDown.ClientID%>").attr("disabled","disabled");
         ValidateInputs();//You will validate inputs in this function
      });
   });
 </script>

 <script type="text/javascript">
  function ValidateInputs(){
     //.....Validations......
     if(validattions okay){ 
        $("#<%=yourDropDown.ClientID%>").attr("disabled","");
      }
  }
 </script>

PS:- 我假设您正在使用 jQuery,如果没有,请花点时间访问jQuery.com并尝试一下。

于 2009-07-06T18:19:17.603 回答
0

我只是为列表框设置了 CauseValidation="true"。这使我无法在当前字段无效时更改数据点

谢谢大家

于 2009-07-06T22:51:51.237 回答
0

在 apsx 页面的取消按钮上写 CauseValidation="false"。

于 2010-01-12T22:02:11.793 回答