我有带有动态生成内容的HTML表。表中的td包含一个表单。我想要的是在此表单提交后从页面中删除该表,因为表单提交时将包含另一页。我正在使用ajax和php。提交表单后,我如何修改下面的代码以删除该表?
JAVASCRIPT
function chk(item_id){
$.ajax({
type:"post",
url:"edit_form.php",
data: {
id: item_id,
name: $('#name-'+item_id).val()
},
cache:false,
success: function(html){
$('#msg').html(html);
}
});
$('#forms').click(function(){
$('#table').hide();
});
return false;
}
<div id="msg"></div>
<div id="table">
<table align="center">
<tbody>
<tr>
<th>S/N</th>
<th>Subject</th>
<th>Edit</th>
</tr>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $subject;?></td>
<td>
<form id="myform">
<input type="text" id="name-<?php echo $item_id;?>" hidden name="name" value="<?php echo $item_id;?>" >
<button type="submit" id="forms" onclick="return chk(<?php echo $item_id;?>)">Edit</button>
</form>
</td>
</tr>
</tbody>
</table>
</div>
发布于 2017-09-13 10:10:14
$('#forms').click(function(){
$('#table').hide();
});
此时,当表单提交时,上面的代码意味着您正在创建一个事件处理程序,以便在下一次单击按钮时侦听该事件处理程序,然后该事件处理程序将隐藏该表。
若要在表单提交后立即隐藏它,只需删除事件处理程序部分并编写即可。
$('#table').hide();
在"chk“函数中。
注:如果您不希望在ajax调用成功完成之前隐藏它,那么将其移到"success“函数中。
发布于 2017-09-13 10:22:03
根据你的问题标题:
您可以简单地在ajax
success:
中添加这些行:
$("#table table").remove();
或
您可以将div的innerHTML设置为empty
。
$("#table").html("");
我希望这能奏效。
发布于 2017-09-13 10:23:12
你为什么需要一个<form>
标签呢?一种不涉及jQuery的更简单的方法
HTML
<input name="" />
<button id="submit">Submit</button>
JS
submit.onclick = function(){
element = document.querySelector('holderClass');
element.style.display = 'none'; // or any element
// ...ajax here
}
您可能需要document.querySelector()
https://stackoverflow.com/questions/46194548
复制相似问题