我有以下
<div class="delete_list left" onclick="this.closest("form").submit()">
<form action="deletelist.php" method="post" name="deletelist">
<input type="hidden" name="second_id" value="'.$row_second['second_id'].'">
</form>
</div>
当我点击div submit()
时不起作用。有趣的是,下面的代码非常完美。
<div class="delete_list left" onclick="document.forms['deletelist'].submit()">
<form action="deletelist.php" method="post" name="deletelist">
<input type="hidden" name="second_id" value="'.$row_second['second_id'].'">
</form>
</div>
我无法理解其中的差异。谢谢。
答案 0 :(得分:0)
closest 是一个jquery函数,它上升而不是向下,因此它不能像你的示例中的form
那样定位内部元素。
因此,如果您将closest
更改为find
,那么您的代码将 work ,以便您可以将javascript对象this
更改为jquery对象$(this)
并最终修复双引号conflit:
<div class="delete_list left" onclick="$(this).find('form').submit()">
但我建议您避免使用inline-event
,因为不推荐使用on
点击事件:
<div class="delete_list left">
<form action="deletelist.php" method="post" name="deletelist">
<input type="hidden" name="second_id" value="'.$row_second['second_id'].'">
</form>
</div>
$('body').on('click', '.left', function(){
$(this).find("form").submit();
});
希望这有帮助。