JSFiddle - React, Tailwind, and code Playground
HTML
<form id="myform" onsubmit="event.preventDefault();">
<div class="inputrow">
<input type="file" class="imageinput" accept=".jpg,.png"/>
</div>
<input type="button" value="Add field" id="addimagefield"/>
</form>
CSS
.inputrow>img {
max-width: 100px;
max-height: 100px;
}
JavaScript
$('#myform').on('change', '.imageinput', onImageSelect);
$('#addimagefield').on('click', onAddImageField);
function onImageSelect(e) {
var file = e.target.files[0],
fileReader = new FileReader();
fileReader.onload = function(readerEvent) {
var image = $('<img src="' + fileReader.result + '"/>');
image.insertBefore(e.target);
}
fileReader.readAsDataURL(file);
}
function onAddImageField(e) {
var row = $('<div class="inputrow"><input type="file" class="imageinput" accept=".jpg,.png"/></div>"');
row.insertBefore(e.target);
}