使用PHP+Ajax无刷新提交表单后,textarea内容无法重置求助
解决Ajax提交表单后textarea未重置的问题
你只需要在Ajax请求成功的回调函数里添加表单重置逻辑即可,以下是两种常用实现方式:
方式一:重置整个表单(推荐)
调用表单原生reset()方法,一次性清空所有表单元素(包括textarea、输入框等),修改后的完整代码如下:
$("#new_post__add").submit(function(event){ event.preventDefault(); var post_url = $(this).attr("action"); var request_method = $(this).attr("method"); var form_data = $(this).serialize(); var $form = $(this); // 保存表单jQuery对象,方便后续调用 $.ajax({ url : post_url, type: request_method, data : form_data }).done(function(response){ $("#load_data").html(response); $form[0].reset(); // 调用原生DOM方法重置表单 }); });
方式二:单独清空textarea
如果仅需要清空textarea而保留其他表单元素的值,直接给目标textarea设置空值即可,注意替换为你的textarea实际ID或选择器:
$("#new_post__add").submit(function(event){ event.preventDefault(); var post_url = $(this).attr("action"); var request_method = $(this).attr("method"); var form_data = $(this).serialize(); $.ajax({ url : post_url, type: request_method, data : form_data }).done(function(response){ $("#load_data").html(response); $("#your-textarea-id").val(''); // 替换为你的textarea的ID或选择器 }); });
补充说明
- 方式一中的
reset()是原生DOM表单方法,jQuery对象需要通过[0]获取对应的DOM元素才能调用。 - 方式二的选择器可灵活调整,比如你的textarea有
name="content"属性,也可以用$('textarea[name="content"]').val('')定位。
内容的提问来源于stack exchange,提问作者Mert Köksal
相关产品推荐
相关产品推荐

