微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在javascript中重置一个表单数组

我有一个表单评论部分,用户可以回复评论.每条评论都有一个回复框的表格.我从数据库获取注释并运行以下循环.

@foreach($responses as $response)
<form action="{{action('discussionController@postAnswerQuestion',[$entry_year, $grade_id, $subject_id, $question_id])}}" method="post" name="replyForm" class="commentForm" >
<li>{{$response->answer}}</li>
<div id="reply">
<input type="text" name="reply" value="" placeholder="Reply" >
</div>

<input type="hidden" name="response_id" value="{{$response->id}}">
<input type="hidden" name="_token" value="{{{csrf_token()}}}">
<input type="submit" name="" value="reply"   >

</form>

@endforeach  

我使用jquery和ajax提交页面,我想在用户提交回复时重置表单字段.

我用的时候

document.forms.replyForm.reset();

只重置第一个表单.循环中的其他形式不会被重置.

我应该如何处理它,以便在用户提交回复后重置每个表单.

解决方法:

主要原因是document.forms返回一个数组但你只是重置第一个表单尝试循环每个表单: –

$('[name="replyForm"]').each(function(){
   this.reset();
});

或者使用javascript: –

 var forms = document.forms;
    for (var i = 0; i < forms.length; i++) {
        if (forms[i].name == "replyForm") {
            forms[i].reset();
        };
    }

Javascript Demo

Demo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐