Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';返回';IE 10和IE 11中功能外的语句_Javascript_Asp.net_Internet Explorer 10_Internet Explorer 11 - Fatal编程技术网

Javascript ';返回';IE 10和IE 11中功能外的语句

Javascript ';返回';IE 10和IE 11中功能外的语句,javascript,asp.net,internet-explorer-10,internet-explorer-11,Javascript,Asp.net,Internet Explorer 10,Internet Explorer 11,我有一个下面的asp控件 <asp:Button ID="btnSave" onclick="return validate();" runat="server" Text="submit" CssClass="next" /> 此代码在除IE10和IE11之外的所有浏览器中都运行良好 函数总是返回一个值。但当我在IE11或IE10中调试时,我遇到了问题 函数执行后,函数外的“return”语句 真正的原因可能是什么 嗯,我正

我有一个下面的asp控件

<asp:Button ID="btnSave" onclick="return validate();"
                            runat="server" Text="submit" CssClass="next" />
此代码在除IE10和IE11之外的所有浏览器中都运行良好 函数总是返回一个值。但当我在IE11或IE10中调试时,我遇到了问题 函数执行后,函数外的“return”语句

真正的原因可能是什么

嗯,我正在编辑这个问题,因为我刚刚知道这个问题是另外一个问题。 我在IE的Add Watch中使用了完整的语句“return Validate()”,以查看实际值,并在函数外部得到了错误的“return”语句。当我仅使用“Validate()”进行相同的尝试时'我得到'true'作为其值。函数根据条件返回正确的值true或false,但我在IE10或IE11中得到的实际问题是,即使在得到true作为验证函数的返回值之后,我的表单也不会提交给服务器。
有什么想法吗?

在您的情况下,无需在代码中包含
其他部分

function Validate() {
     if (some condition) {
        return true;
     } 
     return false;  
} 
还可以通过添加
来终止行
返回true

速记法是

 function Validate() { 
     return ((some condition) ? true : false); 
 } 

感谢您的建议。

我认为问题是由于在onclick处理程序中未使用匿名方法造成的,例如:

<asp:Button ID="btnSave" onclick="function(){return validate();};"runat="server" Text="submit" CssClass="next" />

通过“查看源代码”在浏览器中查看代码时,可能会有重复的代码“。在普通HTML中,事件处理程序属性的值始终隐式包装在函数体中。如果将注意力集中在“if-else”,则可能会走错方向。”。可能是条件才是真正的原因。如果假设条件不满足时函数不返回任何内容,那么使用函数Validate(){return(some condition)}???@pholpar还不够吗。函数将返回
未定义的
不是吗?为了避免这种情况,我们需要
返回false语句。我的函数只包含一个返回语句(根本没有if块),因此只要(某些条件)的计算结果为布尔值(应该是这样的,因为它在原始版本的if块中使用),就无法返回无法解释为布尔值的内容。如果(某些条件)未定义,它将被解释为假布尔值。如果确实要显式返回true或false,即使“某些条件”是未定义的表达式,也可以使用以下版本:function Validate(){return((某些条件)→true:false);}@pholpar Thank u,我完全忘记了这一点,当我回答,我会更新为速记方式(编辑)。
<asp:Button ID="btnSave" onclick="function(){return validate();};"runat="server" Text="submit" CssClass="next" />
function Validate() { 
  return (some condition);
 }