在MVC 3中禁用客户端validation“取消”提交button
好吧,一直在尝试几个小时,可以使用一些帮助。 我试图在MVC 3中实现具有“后退”和“下一步”button的页面。 当后退button被点击时,我想禁止运行客户端MVCvalidation,以便我的操作方法将运行并将用户发送到以前的逻辑网页。 我试过这个:
<script type="text/javascript"> document.getElementById("backButton").disableValidation = true; </script>
和这个:
<input type="submit" name="backButton" value="← Back" title="Go back to step 1." disableValidation="true" />
但无论如何,静默方面的validationJavaScript踢,并不会让button做回传。 我在想, disableValidation
只能在MVC 2中工作,而且我应该在MVC 3中做别的事情,但似乎找不到任何示例。
什么是这个神秘的力量,只要你在某个地方发表一个问题,就会使答案显现出来?
它看起来像在MVC 3中,您通过添加“取消”类来禁用客户端validationbutton。 所以在我的例子中:
<input type="submit" name="backButton" value="← Back" title="Go back to step 1." class="cancel" />
很好。 也不需要ID属性。 如果你在button上有一个实际的样式类,就这样做:
<input type="submit" name="backButton" value="← Back" title="Go back to step 1." class="style-name cancel" />
validation脚本似乎链接到提交typesinput
。 通过将cancel
更改为button,validation将被跳过:
<button type="button" onclick="document.location.href('Index')">Cancel</button>
我用这个button
$("button").each(function (elem) { var button = $($("button")[elem]); button.addClass('cancel'); if (button.attr('type') == 'submit') { button.click(function (e) { var validator = button.closest('form').validate(); validator.cancelSubmit = true; }); } });