This is I want to do:
- open a modal with a form in it
- On hitting 'Save', perform an ajax-call
- if everything is OK (no error sent back), then close the modal
- if things are not OK, keep the modal open and show the error messages in the modal
I have a few successes, but not with 2.2, id est, keep the modal open when error is sent back.
This is the code I have so far:
<div class="ui modal" id="createAddress">
<i class="close icon"></i>
<div class="header">
Adresses
</div>
<div class="content">
<div class="ui form">
<?php
$encrypter = app('Illuminate\Encryption\Encrypter');
$encrypted_token = $encrypter->encrypt(csrf_token());
?>
<input id="token" type="hidden" value="{{$encrypted_token}}">
<div class="field">
<label>Address</label>
<input type="text" id="address">
</div>
<div class="two fields">
<div class="field">
<label>Zip</label>
<input type="text" id="zip">
</div>
<div class="field">
<label>County</label>
<input type="text" id="county">
</div>
</div>
<div class="field">
<label>Country</label>
<input type="text" id="country">
</div>
<div class="field">
<label>Phone</label>
<input type="text" id="phone">
</div>
<div class="field">
<label>E-mail</label>
<input type="text" id="email">
</div>
</div>
</div>
<div class="actions">
<div class="ui red cancel button">Cancel</div>
<div class="ui positive button">Save</div>
</div>
</div>
$('.ui.modal')
.modal({
onApprove : function() {
var $_token = $('#token').val();
var dataJs = { address:$("#address").val(),
zip:$("#zip").val(),
county:$("#county").val(),
country:$("#country").val(),
tel:$("#tel").val(),
email:$("#email").val()};
$.ajax({
type: 'POST',
headers: { 'X-XSRF-TOKEN' : $_token },
dataType: 'json',
data: dataJs,
url: '/admin/relationshipTmpAddressesStoreAjax',
error: function(xhr, textstatus, errorThrown){
alert('request failed');
return false
}
});
}
})
.modal('show')