【问题标题】:JavaScript work before submitting ASP.NET MVC formJavaScript 在提交 ASP.NET MVC 表单之前工作
【发布时间】:2010-10-13 21:44:11
【问题描述】:

我有一个带有 Beginform 的 ASP.NET MVC 视图,它指定了要在提交时点击的操作和控制器。但是在提交时,我想使用 jQuery 调用服务来获取一些数据,然后使用表单提交这些数据。

目前我在表单上有一个提交按钮,该按钮的 onclick 事件调用 JavaScript 方法。根据我希望将表单提交给指定操作的方法得到的结果。

现在我无法让它工作。这是正确的方法还是我应该使用 jQuery 来发帖?我认为最好使用我已经在表单中指定为动作/控制器的内容。

【问题讨论】:

    标签: javascript html asp.net-mvc


    【解决方案1】:

    我认为最好的方法是在表单上使用事件“提交”,因为用户可以通过在某些字段中按 Enter 来提交表单。猜猜,在这个事件期间有可能改变一些输入值,

    jQuery('form#myform').submit(function(e){
       //....
       if (somevar == false)
       {
          // stop submitting form
          e.preventDefault();
       }
       else
       {
          jQuery('input#hiddeninput').val('somevalue');
       }
    })
    

    【讨论】:

    • 很好的答案,但不是我想做的。我想对一些数据启动 ajax 请求,并且仅在响应提交/重定向表单时。使用上面的示例会导致在提交表单之前请求未完成。
    【解决方案2】:

    解决方案是在表单标签上添加提交事件

    onsubmit="return onSubmitClick(this);"
     function onSubmitClick(item) {
    
        console.log(item);
    
        return false;
    }
    

    效果很好。 GL!高频!

    【讨论】:

      【解决方案3】:

      我认为在控制器操作中执行查询外部 Web 服务的任务会更好。这样,您将始终将表单提交给将查询服务的同一控制器操作,并根据结果呈现视图或重定向到其他操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-01
        • 2018-05-07
        • 2020-09-06
        相关资源
        最近更新 更多