JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<form class="form card-content-ingredients" action="" id="form-id-0" enctype="multipart/form-data">
<ul>
<li class="form__item">
<label class="form__label">Text</label>
<input class="form__input form__input--textfield" type="text" name="description" value="" placeholder="description">
</li>
<li class="form__item">
<label class="btn btn--invalid" for="file_0" >picture</label>
<input class="form__input form__input--file" id="file_0" type="file" name="img" value="picture">
</li>
<ul class="form__item--multi-align-right">
<li>
<input class="btn btn--invalid" type="button" value="cancel">
</li>
<li>
<input class="btn btn--invalid btn__save" type="button" value="Save" data-item-id="0" data-rqstpath="/echo/html/">
</li>
</ul>
</ul>
</form>
<form class="form card-content-ingredients" action="" id="form-id-1" enctype="multipart/form-data">
<ul>
<li class="form__item">
<label class="form__label">Text</label>
<input class="form__input form__input--textfield" type="text" name="description" value="" placeholder="description">
</li>
<li class="form__item">
<label class="btn btn--invalid" for="file_1" >picture</label>
<input class="form__input form__input--file" id="file_1" type="file" name="img" value="picture">
</li>
<ul class="form__item--multi-align-right">
<li>
<input class="btn btn--invalid" type="button" value="cancel">
</li>
<li>
<input class="btn btn--invalid btn__save" type="button" value="Save" data-item-id="1" data-rqstPath="/echo/html/">
</li>
</ul>
</ul>
</form>
JavaScript
function updateSettingsAJAX( itemID, rqstPath) {
if (!(typeof itemID !== typeof undefined && itemID !== false) || !(typeof rqstPath !== typeof undefined && rqstPath !== false)) {
return false;
}
var formData = new FormData($('#form-id-' + itemID)[0]);
formData.append("itemID", itemID);
return $.ajax({
type: "POST",
url: rqstPath,
data: formData,
processData: false,
contentType: false,
});
}
$(function () {
$('.btn__save').on('click', function () {
return updateSettingsAJAX($(this).data('item-id'),$(this).data('rqstpath') );
});
});