我有一个如下的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/