Using JS To Render Django Form
I'm learning to utilize pure JS in Django projects. Being a server-side developer the concepts are relatively new for me, so need a hand. Imagine a form where a user can post text
Solution 1:
Hope it helps:
var formTemplate = document.querySelector('#form-template form');
var idInput = document.getElementById('id-input');
function toggleReply(e) {
if (!formTemplate) return;
e.target.parentNode.insertBefore(formTemplate, e.target);
idInput.value = e.target.getAttribute('data-id');
};
Array.from(document.querySelectorAll('button.reply'))
.forEach(btn => btn.onclick = toggleReply)
form + .reply {
display: none;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div id="form-template" style="display: none;">
<form action="" method="POST" enctype="multipart/form-data">
<input id="id-input" type="hidden" name="id" value="">
<div class="form-group">
<label for="reply">Reply:</label>
<textarea class="form-control" type="text" name="text"></textarea>
</div>
<input type="submit" class="btn btn-default pull-right" value="submit">
</form>
</div>
<div class="container">
<div class="list-group">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Comment title</h3>
</div>
<div class="panel-body">
Comment content
</div>
<div class="panel-footer clearfix">
<button class="reply btn btn-default pull-right" type="button" data-id="24">Reply</button>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Comment title</h3>
</div>
<div class="panel-body">
Comment content
</div>
<div class="panel-footer clearfix">
<button class="reply btn btn-default pull-right" type="button" data-id="25">Reply</button>
</div>
</div>
</div>
</div>
Post a Comment for "Using JS To Render Django Form"