在我的页面上,我有一个这样的部分:
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" })
}
这会有效吗?
答案 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
}
});
});
希望这会对你有所帮助。