这是我从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);
});
抱歉找到了答案。您无法围绕表行包装表单
答案 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/找到有关最近的信息。