【问题标题】:asp .net mvc ajax submitasp .net mvc ajax提交
【发布时间】:2011-11-29 04:26:24
【问题描述】:

我正面临一个让我发疯一段时间的问题。我有一个 .net mvc 页面(.ascx)。这个视图有一个表单,可以通过 ajax 提交给控制器动作。我有一个发布表单的 ajax 提交按钮。

在视图中我有一些if条件如下

如果(模型.SampleID.HasValue) { alert('样本创建'); 警报(''); }

当我点击 ajax 提交按钮时,这段代码运行良好,我的意思是 javascript 被执行。但是当我按回车键时,会发生相同的帖子,但根本不执行 javascript 代码。我不知道为什么会这样。

有什么想法或方法吗?

【问题讨论】:

  • 也许您可以发布包含您的表单和更多 jquery 的 html

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


【解决方案1】:

只是一个想法。可能是您的 ajax 提交按钮仅绑定到单击事件。如果是这样,您必须将其绑定到按键事件。是的,您最好发布 html。

【讨论】:

    【解决方案2】:

    将以下代码放入 document.ready() 函数中

    $("input").keydown(function(e){
        if(e.which==13)
        {
            //Your Submit Method
        }
    });
    

    【讨论】:

    • 这是不好的做法。如果他们点击按钮并按空格键怎么办?这将失败并且不能处理所有情况。
    【解决方案3】:

    我将与其他发布的人不同,他们说您将 jQuery 错误地绑定到表单提交,您需要重新处理。 不要绑定到鼠标点击按钮并且不要检查按键。

    相反,表单有一个可以绑定到的submit 事件。无论他们是单击提交按钮、按 Enter 还是按 Tab 键并按空格键都无关紧要。如此绑定:

    $('#yourformcontainer form').submit(function() {
         //Your custom submit code here
         //return false if you want to abort the form submission, true (or nothing) otherwise
    }); 
    

    这假设您的 HTML 表单呈现如下:

    <div id="yourformcontainer">
        <form>
            ...
            <input type="submit" value="submit" />
        </form>
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-19
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2021-12-22
      • 2021-09-07
      • 2011-11-19
      相关资源
      最近更新 更多