2013-06-04 42 views
0

我得到这个错误有一些JavaScript我的网页上:的JavaScript运行时错误在IE

JavaScript runtime error: The value of the property 'ToggleValidators' is null or undefined, not a Function object

我一直在试图解决这一问题的年龄,我似乎无法得到它的权利。

脚本应该做的是关闭页面上所需的字段验证器,然后在按下按钮时切换它们。

的JavaScript代码:

<script type="text/javascript" src="Scripts/jquery-1.4.1.js"> 

$(document).ready(function() { 
    $('body').fadeIn(500); 

    //Turn off all validation = it's switched on dynamically 
    $.each(Page_Validators, function (index, validator) { 
     ValidatorEnable(validator, false); 
    }); 
}); 

function ToggleValidators('g2') 
{ 
    $.each(Page_Validators, function (index, validator) { 
     if (validator.validationGroup == g2) 
     { 
      ValidatorEnable(validator, true); 
     } 
     else 
     { 
      ValidatorEnable(validator, false); 
     } 
    }); 
} 

,按钮上:

<asp:Button ID="btnSubmit" runat="server" onclick="btnSubmit_Click" Text="Submit" ValidationGroup="g2" OnClientClick="ToggleValidators('g2');" />

什么是我的代码的问题?

+2

你的函数参数在它周围有引号...... –

+1

它看起来像你的代码在's'标签'src'属性中。你必须把你的代码放在它自己的'script'元素中。否则,代码甚至不会被评估。但是由于你的HTML有点不完整,这只是一个猜测。提供更完整的代码示例,对我们来说更容易帮助您。 –

+0

@FelixKling这是问题!谢谢。它总是你想念的最小的东西 –

回答

0

错误消息基本上意味着找不到函数ToggleValidators,即它可能是从未创建的。

它看起来像你的代码是标签src属性。你必须把你的代码在自己的脚本元素:

<script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script> 
<script> 
    // your code here 
</script> 

否则代码甚至不会进行评估(该函数将不会被创建,就像错误消息说)。

当然,您的代码可能还有其他问题(例如参数定义的引号)。

+0

虽然这是主要问题,并且这固定了它:/ –