如何解决从Ajax调用获取提交按钮的值
在操作中,提交按钮的值始终为空。
要知道单击了哪个提交按钮,我需要更改什么?
<form id="actionInvitation">
<div>
<ul>
<li>
@Model.TeamInviteBy
</li>
</ul>
</div>
<input type="submit" name="actionBtn" id="acceptBtn" value="Accept Invitation" />
<input type="submit" name="actionBtn" id="declineBtn" value="Decline Invitation" />
</form>
$('#actionInvitation').submit(function (e) {
e.preventDefault();
var formData = new FormData($('#actionInvitation')[0]);
$.ajax({
url: '@Url.Action("ActionInvitation","Home")',type: 'post',cache: false,processData: false,contentType: false,data: formData,success: function (data) {
$("#invitationActionMessage").append('Invitation Accepted');
}
});
});
//Action
public async Task<IActionResult> ActionInvitation(UserViewModel userViewModel,string acceptBtn,string declineBtn)
解决方法
您的formData
将不包含您需要传递的对象。
您可以按以下方式更改代码:
<form id="actionInvitation">
<div>
<ul>
<li>
@Model.TeamInviteBy
<input type="hidden" name="TeamInviteBy" value="@Model.TeamInviteBy">
</li>
</ul>
</div>
<input type="submit" name="actionBtn" onclick="Send(event,this)" value="Accept Invitation" />
<input type="submit" name="actionBtn" onclick="Send(event,this)" value="Decline Invitation" />
</form>
@section scripts{
<script>
function Send(ev,el) {
ev.preventDefault();
var data = $("input[name='TeamInviteBy']").val();
var value = $(el).val();
$.ajax({
url: '@Url.Action("ActionInvitation","Home")',type: 'post',contentType: "application/x-www-form-urlencoded; charset=utf-8",data: { TeamInviteBy: data,actionBtn: value},success: function (data) {
$("#invitationActionMessage").append('Invitation Accepted');
}
});
}
</script>
}
动作:
public async Task<IActionResult> ActionInvitation( UserViewModel userViewModel,string actionBtn)
{
if(actionBtn="Accept Invitation")
{
//...
}
else
{
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。