提交按钮不调用操作
submit button does not invoke the action
我使用下面的按钮,它工作正常,并按预期调用操作,
save按钮
@using (Html.BeginForm("edit", "user", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" id="actionbtn" value="Save" name="buttonType" />
</div>
</div>
}
<<p> 检查按钮/strong> @using (Html.BeginForm("Check", "User"))
{
<input type="submit" id="btnConnect" value="Check" />
<span id='result'></span>
}
现在,当我添加以下代码时,如果操作成功与否,应该添加一些文本,保存按钮不调用操作,我在这里做错了什么?
$("form").submit(function (e) {
// Cancel the default submission
e.preventDefault();
// Perform the AJAX call
var target = $(this).attr('action');
$.post(target, function(result) {
// Check the value of result
if (result === "True") {
// It was successful, make result text green.
$("#result").css('color', 'green').html("successful.");
} else {
// Otherwise, it failed, display as red.
$("#result").css('color', 'red').html("Failed");
}
});
});
我已经尝试删除e.p preventdefault ();没有成功…
你需要像这样检查表单是通过哪个按钮提交的。
你必须这样做来限制它:
$("form").submit(function (e) {
// Cancel the default submission
e.preventDefault();
if($(this).find('input[type="submit"]').val() === "Check") // form submitted via Check button
{
// Perform the AJAX call
var target = $(this).attr('action');
$.post(target, function(result) {
// Check the value of result
if (result === "True") {
// It was successful, make result text green.
$("#result").css('color', 'green').html("successful.");
} else {
// Otherwise, it failed, display as red.
$("#result").css('color', 'red').html("Failed");
}
});
}
else
{
// form submitted from Save button
}
});
首先你需要添加ID到你的表单:
@using (Html.BeginForm("Check", "User",FormMethod.Post, new { Id = "CheckForm" })
然后你需要添加提交事件处理程序,只需要表单:
$("#CheckForm").submit(function (e) {
// Cancel the default submission
e.preventDefault();
// Perform the AJAX call
var target = $(this).attr('action');
$.post(target, function(result) {
// Check the value of result
if (result === "True") {
// It was successful, make result text green.
$("#result").css('color', 'green').html("Successful.");
} else {
// Otherwise, it failed, display as red.
$("#result").css('color', 'red').html("Failed");
}
});
});
还有一件事。当Ajax像这样提交时,它会提交一个空表单。是你需要的吗?
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- HTML class=Ajax操作,如何让类点击调用好的操作
- 控制台.log触发,但随后的 Jquery 调用不执行任何操作
- 是否可以将alertify.js的cancel按钮和onclose调用的操作分开
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- Rails:如何在jQuery(.js.erb)中调用“create”操作
- 如何重新加载调用部分视图的操作
- React/Redux 状态在第二次操作调用时为空
- 如何使用ROR从控制器操作调用javascript函数
- 表单操作调用按钮
- 从表单操作调用JS函数,然后从JS调用PHP
- 在对支柱 1 执行操作调用之前确认对话框
- 如何在 Yii 中通过操作调用 CJui对话
- EmberJS actions - 当包装在“actions”中时,从另一个操作调用一个操作
- ServiceNow UI操作调用客户端和服务器代码
- 在js文件中播放框架控制器操作调用
- 使用URL从html表单操作调用Java API时返回的响应