【问题标题】:MVC Ajax forms not submitting on page load with jQueryMVC Ajax 表单未在使用 jQuery 的页面加载时提交
【发布时间】:2011-01-17 18:54:51
【问题描述】:

我在加载表单时遇到问题。进行加载的代码很简单:

$(document).ready(function()
{
    $('#resultsForm').triggerHandler('submit');
}

对于标记,我只是使用 MVC Ajax 表单:

    <% using (Ajax.BeginForm("resultsForm", new AjaxOptions { UpdateTargetId = "resultsDiv", OnSuccess = "onSuccess" })) { %> 
//html in here  
    <% } %>

在 FF 和 Chrome 中,页面会加载,几秒钟后,结果的 div 也会加载。这是我期望发生的。但是,在 IE 中什么也没有发生。

当我尝试做的时候

$(document).ready(function()
{
    $('#resultsForm').trigger('submit');
}

页面在 IE 中加载,然后将我重定向到一个只是表单结果的页面。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: jquery asp.net-mvc


    【解决方案1】:

    环顾四周后,我找到了解决问题的方法。可以在here 找到解决方案,使用我的示例它看起来像:

    $(document).ready(function()
    {
        var form = $('#resultsForm');
        form.submit(function(event) { eval($(this).attr("onsubmit")); return false; });
        form.submit();
    }
    

    这在所有浏览器中都适用于我。

    【讨论】:

      【解决方案2】:

      我对 MVC Ajax 不是很熟悉,但通常您会将表单的提交代码放入一个函数中并调用它。 即。

      function doThisOnSubmit() {
         //Submit code here
      }
      $(document).ready(function() {
          doThisOnSubmit();
      });
      

      然后是你的 HTML 代码:

      <form onsubmit="doThisOnSubmit();">
      <!-- Stuff -->
      </form>
      

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-10
        • 1970-01-01
        • 2014-06-20
        • 2015-06-05
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        相关资源
        最近更新 更多