首页 > 解决方案 > jquery - 如何在表格中获取表单元素

问题描述

我通常使用此代码来获取所有表单元素:

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 代码示例(表单包含文本字段、文本区域和文件)。我如何发布表单(我正在尝试使用 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>

标签: jquery

解决方案


推荐阅读