我通常使用以下代码获取所有表单元素:
var form = $(this).closest('form')[0];
for (i = 0; i < form.elements.length; i++)
{
if (form.elements[i].type == 'file')
{
if (form.elements[i].value == '') {
form.elements[i].parentNode.removeChild(form.elements[i]);
}
}
}
var formData = new FormData(form);
formData.push({name: 'act', value: 'edit'});
但是现在我的表单在表格行中,因此我遇到了以下错误:TypeError: form is undefined
这是我的html代码的示例(表单包含文本字段,textarea和文件)。我如何发布表格(我正在尝试使用Ajax)
<form action='#' method='post' enctype='multipart/form-data'>
<tr id="4" class="fadeSec item">
<td class="item_logo"><input name="file[]" type="file"></td>
<td class="item_name"><input name="agnt[name]" value="Agency 2" type="text"><span>*</span></td>
<td class="item_mainEmail"><input name="agnt[mainEmail]" value="email@gmail.com" type="text"></td>
<td class="item_contact"><textarea type="text" name="agnt[contact]">some details</textarea></td>
<td class="panel-menu">
<div class="edit_msg"></div>
<i class="fa fa-refresh fa-spin fa-2x fa-fw edit_form-loader"></i>
<a href="#" class="btn btn-success edit_save-btn">Save</a>
</td>
</tr>
</form>