【发布时间】:2015-03-24 13:55:39
【问题描述】:
我有一个包含许多表格的页面,每个表格行中有 1 个。我想提交表单,获取 ajax 响应,然后显示绿色复选标记或红色 x 以指示成功或失败(无需重新加载页面)。
如何仅在提交的表单中选择.file-success 或.file-error 跨度?
<form method="POST" action="#" class="fileform">
<tr>
<td class="vert-align"><input type="text" name="name" id="name" /></td>
<td class="vert-align"><button class="btn btn-primary btn-xs" type="submit">Update</button>
<div class="feedback-icons">
<span class="file-success"><i class="fa fa-check-circle"></i></span>
<span class="file-error"><i class="fa fa-times-circle"></i></span>
</div>
</td>
</tr>
</form>
... many more forms like this in table rows
$(this).find(".file-success"); 无论是否将上下文设置为 e.target 都找不到它。
$(".fileform").submit(function(e)
{
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
$.ajax(
{
url : formURL,
type: "POST",
data : postData,
context: e.target,
success:function(data, textStatus, jqXHR)
{
$(this).find('.file-success').fadeIn(500);
},
error: function(jqXHR, textStatus, errorThrown)
{
$('.file-error').fadeIn(500);
}
});
e.preventDefault();
});
谢谢!
【问题讨论】:
-
@mplungjan 我要重新营业了。虽然问题很微妙,但
context的使用使这个问题有点不同。
标签: javascript jquery ajax