使用Jquery从输入中获取表单ID

时间:2015-01-16 01:49:06

标签: javascript jquery

这是我从php循环创建的表单,我想要获取的是单击图像时我想获取表单ID或所有输入名称和值,以便我可以更新我的数据库。

$result = mysql_query("SELECT * FROM `inventory` WHERE `active` = '1'");
    $i=1;
    while ($r = mysql_fetch_assoc($result)) {
        echo '<tr>
        <form id="'.$i++.'">
            <td style="width: 15%">'.$r['part_num'].'</td>
            <td style="width: 25%">'.$r['name'].'</td>
            <td style="width: 13%"><input type="text" name="sd_paint" value="'.$r['sd_paint'].'" class="inv_value"</td>
            <td style="width: 13%"><input type="text" name="sd_unpaint" value="'.$r['sd_unpaint'].'" class="inv_value"</td>
            <td style="width: 13%"><input type="text" name="ia_paint" value="'.$r['ia_paint'].'" class="inv_value"</td>
            <td style="width: 13%"><input type="text" name="ia_unpaint" value="'.$r['ia_unpaint'].'" class="inv_value"</td>
            <td style="width: 8%">
                <input type="image" src="pics/icons/edit.png" id="'.$r['inv_id'].'" class="submit_new_inv">
        </form>
                <img src="pics/icons/delete_inv.png" id="'.$r['inv_id'].'" class="edit_inv">
            </td>
        </tr>';
    }

这是我使用的javascript,但这只是返回第一个表单:

$('.submit_new_inv').off().click(function(e) {
    e.preventDefault();
    var formID = document.forms[0].id;
    alert(formID);
});
抱歉找到了答案。您无法围绕表行包装表单

2 个答案:

答案 0 :(得分:1)

$('.submit_new_inv').off().click(function(e) {
e.preventDefault();
var formID = $(this).parents("form").prop("id");
alert(formID);

});

答案 1 :(得分:1)

类似于以下内容的内容应该适用于点击事件:

var myForm = $(this).closest('form');
alert(myForm.prop('id'));

您可以在http://api.jquery.com/closest/找到有关最近的信息。