javascript - IE 10 和 IE 11 中函数之外的“return”语句

标签 javascript asp.net internet-explorer-10 internet-explorer-11

我有一个如下的asp控件

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

下面是js函数Validate

function Validate()
{if (some condition){return true} else return false;  } 

此代码在除 IE10 和 IE11 以外的所有浏览器中都可以正常工作 该函数总是返回一个值。但是当我在 IE11 或 10 中调试时,我遇到了问题 函数执行后的“函数外的‘return’语句”。

真正的原因是什么?

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

最佳答案

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

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

还通过添加 ; 终止 return true 行。

或者

简写方式是

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

感谢@pholpar征求意见。

关于javascript - IE 10 和 IE 11 中函数之外的“return”语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645596/

相关文章:

字体在IE 10中不起作用

javascript - 计算容器垂直滚动多少才能可见

javascript - 使用外部数据输入更新数组中的对象时提高性能

html - 带有和不带有 runat=server 属性的脚本标签有什么区别

asp.net - 如何在 ASP.NET 页面中显示消息框?

javascript - JS | IE中的addEventListener方法来自哪个接口(interface)?

html - 为什么 "font-size: 1em"在 IE10 中比 Chrome 大?

javascript - 使用 Jquery 在 <td> 中获取 CSS 生成的文本

javascript - Jquery在php处理时显示消息

c# - 移动检测未按预期工作