如果我在razor视图中明确指定和id
,是否可以在jquery文件中找到formID? @using (Html.BeginForm())
在这里,我不想指定表单的ID,点击按钮我想从我的jquery文件中提交此表单。
这是我的观点和
@using (Html.BeginForm())
这个jquery不起作用。
$(".TestCreateSubmit").click(function (e) {
e.preventDefault();
alert("submit");
var form = this;//this doesnt work
form.submit(); //this doesnt work
});
如果未指定id,是否可以调用表单的Submit()方法
这是我在表单中的按钮。这是此特定形式的唯一按钮:
<div class="row">
<div class="col-md-5 text-right">
<a class="btn btn-default TestCreateSubmit" href="#" role="button">Save</a>
</div>
</div>
控制器
public ActionResult TestCreate(Test test)
{
if (ModelState.IsValid)
{
//need to save the application using the Staff Manager Service here
Test objTest = DatabaseService.Test Create(test);
if (objtest == null)
{
return HttpNotFound();
}
return RedirectToAction("TestIndex");
}
return View(test);
}`
答案 0 :(得分:1)
您已获得有关如何获取当前表单的几个答案,如:
$(".TestCreateSubmit").click(function (e) {
e.preventDefault();
var form = $(this).closest('form');
form.submit();
});
但是,由于您的按钮实际上是一个链接而不是type="submit"
,因此您可以通过在输入字段上按Enter来轻松绕过您的代码。例如https://jsfiddle.net/TrueBlueAussie/4tmz0xm5/键盘提交是表单处理中忽略的最常见问题。
有条件提交表单有几种模式,但都依赖于submit
事件而非点击事件。
正如您所说,您只是希望链接正常提交表单,只需将链接更改为input
type="submit"
,并将其设置为您需要的样式。
e.g。
<div class="row">
<div class="col-md-5 text-right">
<input class="btn btn-default TestCreateSubmit" type="submit" value="Save"/>
</div>
</div>
您根本不需要任何代码。
从评论开始,这是使用Ajax表单提交之前的测试。其步骤如下:
示例:强>
$('form').submit(function(e){
e.preventDefault();
var $form = $(this);
var data = $form.serialize();
$.post(url, data);
})