【发布时间】:2016-02-09 09:54:57
【问题描述】:
如果我在 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);
}`
【问题讨论】:
-
请同时添加 HTML
-
试试这个 $('form').submit()。
-
@Jubi: 使用最新的 IE 版本进行测试,只有我能想象。你的葬礼:)
-
@jubi 是的,这是有区别的。在我的回答中,DOM 中可用的所有表单都将被提交。我给出了该解决方案,假设 DOM 中只有一个表单。在斯蒂芬的回答的情况下,只会提交一个表单,按钮所在的表单。
-
关于如何获取 current 表单,您已经获得了几个“正确”答案(在 cmets 中),但因为您的按钮实际上是一个链接而不是
type="submit",您的代码很容易通过在输入字段上按 Enter 来绕过。键盘提交是表单处理中最容易被忽视的问题。有一些有条件提交表单的模式,但都依赖于submit事件而不是点击事件。请描述您的页面应该如何工作(例如,您要验证内容吗?)。
标签: jquery asp.net-mvc asp.net-mvc-3 razor