咱喜欢偷懒,懒得一个个js去写验证了,有些就用.net的验证控件了,但是提交按钮又得执行其他js,
弄了半天发现如果自己写的js中存在return的就会不再执行.net验证控件了
<input type="submit" name="Button1" value="发表" οnclick="return getQuestionContent('SwContent');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "", true, "btn1", "", false, false))" id="Button1" />
从html代码中可以看到转化之后,先执行了return getQuestionContent,
无论这个函数返回了true还是false都将阻止onclick的继续执行,也就是后面一堆的验证控件的函数不会执行到
有两种解决方案,一种在js中加上一句判断
if (Page_ClientValidate()) {//执行服务器验证控件的验证
}
另外一种是在后台加上Page.IsValid判断,不过感觉跑到后台取验证毕竟不太好。