是否有可能在 mvc 中获取表单 iD
Is it possible to get form iD in mvc
如果我在 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);
}`
关于如何获得 current 表格,您已经得到了几个答案,例如:
$(".TestCreateSubmit").click(function (e) {
e.preventDefault();
var form = $(this).closest('form');
form.submit();
});
但是,由于您的按钮实际上是 link 而不是 type="submit"
,您的代码很容易通过在输入字段上按 Enter 来绕过。例如https://jsfiddle.net/TrueBlueAussie/4tmz0xm5/ 键盘提交是表单处理中最容易被忽视的问题。
有几个条件提交表单的模式,但都依赖于 submit
事件而不是点击事件。
如您所述,您只是希望 link 正常提交表单,只需将 link 更改为带有 type="submit"
的 input
并将其样式设置为随心所欲
例如
<div class="row">
<div class="col-md-5 text-right">
<input class="btn btn-default TestCreateSubmit" type="submit" value="Save"/>
</div>
</div>
那时您根本不需要任何代码。
更新以使用 Ajax:
根据评论,这是使用 Ajax 表单提交之前的测试。其步骤是:
示例:
$('form').submit(function(e){
e.preventDefault();
var $form = $(this);
var data = $form.serialize();
$.post(url, data);
})
如果我在 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);
}`
关于如何获得 current 表格,您已经得到了几个答案,例如:
$(".TestCreateSubmit").click(function (e) {
e.preventDefault();
var form = $(this).closest('form');
form.submit();
});
但是,由于您的按钮实际上是 link 而不是 type="submit"
,您的代码很容易通过在输入字段上按 Enter 来绕过。例如https://jsfiddle.net/TrueBlueAussie/4tmz0xm5/ 键盘提交是表单处理中最容易被忽视的问题。
有几个条件提交表单的模式,但都依赖于 submit
事件而不是点击事件。
如您所述,您只是希望 link 正常提交表单,只需将 link 更改为带有 type="submit"
的 input
并将其样式设置为随心所欲
例如
<div class="row">
<div class="col-md-5 text-right">
<input class="btn btn-default TestCreateSubmit" type="submit" value="Save"/>
</div>
</div>
那时您根本不需要任何代码。
更新以使用 Ajax:
根据评论,这是使用 Ajax 表单提交之前的测试。其步骤是:
示例:
$('form').submit(function(e){
e.preventDefault();
var $form = $(this);
var data = $form.serialize();
$.post(url, data);
})