我有一个表单评论部分,用户可以在其中回复评论。每个评论都有一个带有回复框的表格。我正在从数据库中获取评论并运行以下循环。
@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 - 在javascript中重置表单数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32522156/