MVC使用jquery而不是submit按钮

时间:2015-12-31 16:22:06

标签: javascript jquery html asp.net-mvc forms

在我的页面上,我有一个这样的部分:

image.Freeze(); // necessary for cross-thread access

imgAd.Dispatcher.BeginInvoke(new Action(() => imgAd.Source = image));

我不是使用提交按钮,而是使用看起来像按钮的图像替换它,我是否也可以在jquery函数中执行相同的提交。就像那个按钮式图像的点击事件一样?我提交的数据是否仍会提交?

我想这样做的原因是,在部分我有两个单选按钮。在两者上我都有一些用于检索数据和其他东西的Jquery代码。

如果我使用简单的提交按钮,我可以设置无线电按钮,但没有点击事件,因此不会检索数据,也不会执行其他操作。 因此,如果我可以使用Jquery,那么我可以简单地调用radiobutton-click事件调用的函数,从而获取我的数据。

[编辑] 我有点像这样的事情:

using (Html.BeginForm("AddSubTor", "Maintor", FormMethod.Post, htmlAttributes: new { ID = "frmSubTors" }))
{
  @Html.AntiForgeryToken()

  @Html.Partial("_SublistPartial")

  <div class="row" style="margin-top: 15px;">
    <div class="col-sm-12 col-md-12 col-lg-12 text-center ">
      @* submit button here *@
      <input type="submit" class="btn btn-default" value="Add"  />
    </div>
  </div>
  @Html.ValidationSummary(true, "", new { @class = "text-danger" })
}

这会有效吗?

4 个答案:

答案 0 :(得分:3)

是的,您可以在单击图像时使用jQuery提交表单。 将提交按钮替换为图像并为其指定ID。

<div class="col-sm-12 col-md-12 col-lg-12 text-center ">
      @* submit button here *@
      <img id="myImage" src="blah.jpg" />
</div>

然后让jQuery响应点击事件:

$(document).ready(function() {
    $("#myImage").click(function() {
        $("#frmSubTors").submit();
    }
}

更多点击jQuery的活动信息:http://www.w3schools.com/jquery/event_click.asp

答案 1 :(得分:1)

是的,如果您使用$('#frmSubTors').submit(),则表单将提交所有字段。

答案 2 :(得分:1)

您可以使用图片活动提交表单。

$('img').on("click", function () {
    $('#frmSubTors').submit();
});

答案 3 :(得分:1)

您可以像以下一样使用ajax提交form

$("#your_img_id").click(function () {
    $.ajax({
        type: 'POST',
        url: '/Maintor/AddSubTor',
        data: $(this).serialize(), //serializes the form's elements.
        success: function (data) {
            // do your other stuff here after succesful form submit
        }
    });
});

如果您的form<input type="file">,请执行以下操作。

$("#your_img_id").click(function () {
    var formData = new FormData($('#frmSubTors')[0]);

    $.ajax({
        type: 'POST',
        url: '/Maintor/AddSubTor',
        data: formData,
        cache: false,
        contentType: false,
        processType: false,
        success: function(data) {
            // do your other stuff here after succesful form submit
        }
   });
});

希望这会对你有所帮助。