jquery - Bootstrap Modal with Ajax not showing up -
using bootstrap modal ajax add user, on clicking link screen turn dark modal doesn't show up, while in network invite function preview form shows up, controller works.

the form shows in html (console) on 'add' well, supposedly on wrong place.

when clicked on link:
<a> <span class="sidebar-text">{{ trans('common.projects') }} ({{ count($projectsnav) }})</span> <span class=" pull-right"> <i href="/user/invite" class="fa fa-cog nopadding" data-toggle="modal" data-target="#modal-basic" style="padding: none !important;"></i> </span> </a> it should trigger this:
javascript
// support ajax loaded modal window. // focuses on first input textbox after loads window. $('[data-toggle="modal"]').click(function(e) { e.preventdefault(); var url = $(this).attr('href'); if (url.indexof('#') == 0) { $(url).modal('open'); } else { $.ajax({ url: "/user/invite", headers: ajaxheader, method: "post", success: function (response) { $('<div class="modal hide fade">' + response + '</div>').modal(); } }); /* $.post(url, function(data) { $('<div class="modal hide fade">' + data + '</div>').modal(); }).success(function() { $('input:text:visible:first').focus(); });*/ } route
route::post('user/invite', 'usercontroller@showinvite'); controller
public function showinvite(usertypecontroller $usertype) { $usertypes = $usertype->getusertypes(); return view('user.invite', compact('usertypes')); } blade/modal form
<div class="modal fade test" id="modal-basic" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title text-capitalize">{{trans('common.invite_user')}}</h4> </div> <div class="modal-body"> <div class="panel-body"> <div class="row"> <div class="col-md-12 col-sm-12 col-xs-12"> <div class="form-group"> <label class="form-label text-capitalize">{{trans('common.email')}}</label> <div class="controls"> {!! form::text('email', null , ["class"=>"form-control col-sm-9" ,"id"=>"email" ,"placeholder" => trans('common.email') ]) !!} </div> </div> </div> </div> <div class="row"> <div class="col-md-12 col-sm-12 col-xs-12"> <div class="form-group"> <label class="form-label text-capitalize">{{trans('common.email')}}</label> <div class="controls"> {!!form::select("usertype_id", $usertypes , null , ['data-live-search'=>"true",'class'=>'selectpicker'])!!} </div> </div> </div> </div> </div> </div> <div class="modal-footer"> {!! form::submit( trans('common.invite'), ["class"=>"btn btn-success text-capitalize", "id"=>"inviteuser", "data-dismiss"=>"modal"]) !!} </div> </div> </div>
you need load modal html. solution be:
step 1
add div modal container directly manual html ad modal.
<div class="modal hide fade"></div> step 2
load modal created container:
$('[data-toggle="modal"]').click(function(e) { e.preventdefault(); // partial view show in modal var $modal = $('.modal'); $modal.load('/user/invite', function() {}); // load returned html modal container $modal.modal('show'); // show modal } update
remove outside modal div response because have 2 root .modal containers.
Comments
Post a Comment