表单提交事件未在布局页面中触发?

时间:2015-09-04 06:59:23

标签: jquery asp.net-mvc asp.net-mvc-4

我内部有Begin Formsubmit button的几个观点,但常见的是指同一个布局。

我在布局(DRY)中放置了$(form)提交逻辑,我期待,当我点击提交按钮时,布局中的逻辑会被触发但是没有发生。

布局:

<script type="text/javascript">
         $('form').submit(function () {
             if ($(this).valid()) {
                 $(':submit', this).attr('disabled', 'disabled');
             }
         });
</script>

查看:

//layout refered
@using (Html.BeginForm("actionName", "controllerName", FormMethod.Post))
{
<button name="SUBMIT" type="submit" value="SUBMIT">SUBMIT</button>
}

如果我在我的layout every view中拥有与layout中相同的逻辑,那么它的工作效果很好,但当我在CREATE TRIGGER upd_check BEFORE INSERT ON def_servpath_0001_weatherstation FOR EACH ROW BEGIN DECLARE someString text; FOR EACH ROW BEGIN IF NEW.atrType = 'datetime' THEN SET @someString := NEW.atrValue; END IF; END; FOR EACH ROW BEGIN IF NEW.atrType <> 'datetime' THEN SET NEW.atrMD = someString; END IF; END; END;// 中拥有它时,它似乎有问题。

使其工作的任何变通办法都会很棒。

1 个答案:

答案 0 :(得分:2)

我想你需要将它包装在文档就绪块中,因为form仅在加载DOM时才提交事件注册。

$(function(){ // <-----this should be wrapped within this.
   $('form').submit(function () {
       if ($(this).valid()) {
          $(':submit', this).attr('disabled', 'disabled');
       }
   });
});