咱喜欢偷懒,懒得一个个js去写验证了,有些就用.net的验证控件了,但是提交按钮又得执行其他js,
弄了半天发现如果自己写的js中存在return的就会不再执行.net验证控件了
<input type="submit" name="Button1" value="发表" onclick="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判断,不过感觉跑到后台取验证毕竟不太好。
本文探讨了JavaScript与.NET验证控件在网页表单提交时可能出现的问题及两种解决方案:一是通过JavaScript判断是否调用服务器端验证;二是在服务器端使用Page.IsValid进行判断。
170

被折叠的 条评论
为什么被折叠?



