2016-05-11 3 views
0

Ich habe ein Problem mit Reveal Modal von Zurb-Stiftung.Schließen offenbaren modalen Dialog nach dem Klicken mit ajax senden

Der modale Dialog verschwindet nicht, nachdem ich auf den Submit-Button geklickt habe.

so bleibt es nach dem Klicken auf die Submit geöffnet, und es gibt keine Möglichkeit, es zu schließen, es sei denn, wenn ich die Seite aktualisieren.

Dies ist der offenbaren modal

<div class="insert_post" data-open="add_post"> 
    <i class="fa fa-plus" ></i> 
</div> 

<div class="small reveal" id="add_post" data-reveal-id="myModal" data-reveal > 
<?php 
    $output .=' 


     <div class="row"> 
      <div class="medium-6 columns"> 
       <label>First name 
        <input type="text" id="first_name" contenteditable> 
       </label> 
      </div> 
      <div class="medium-6 columns"> 
       <label>Last name 
        <input type="text" id="last_name" contenteditable> 
       </label> 
      </div> 
       <button type="button" name="btn_add" id="btn_add" class="button btn btn-xs btn-success" >Submit</button> 
     </div> 






    '; 
    echo $output; ?> 
    <button class="close-button" data-close aria-label="Close modal" type="button"> 
     <span aria-hidden="true">&times;</span> 
    </button> 
</div> 

Jquery/Ajax-Code in die Datenbank einzufügen.

$(document).ready(function(){ 
    function fetch_data() 
    { 
     $.ajax({ 
      url: "includes/home.php", 
      method:"POST", 
      success:function(data){ 
       $('#container').html(data); 
      } 
     }); 
    } 
    fetch_data(); 
    $(document).on('click', '#btn_add', function(){ 
     var first_name = $('#first_name').val(); 
     var last_name = $('#last_name').val(); 

     $.ajax({ 
      //url:"includes/widgets/insert.php", 
      method:"POST", 
      data:{first_name:first_name, last_name:last_name}, 
      dataType:"text", 
      success:function(data) 
      { 
       //alert(data); 
       fetch_data(); 
      } 
     }) 

    }); 

}); 
</script> 

Bild des Problems http://s32.postimg.org/yqbuz1rvp/wewewewe.png. nachdem ich das Formular abgeschickt habe!

+0

Warum machst du einen Ajax-Anruf, um eine Antwort zu erhalten, die einen anderen Ajax-Anruf aufruft? – Rasclatt

+0

auf diese Weise kann ich die Datenbank aktualisieren und Änderungen erscheinen, nachdem ich auf die Schaltfläche zum Senden ohne Aktualisierung drücken. Ich habe viele Lösungen ausprobiert und das ist das Beste, denke ich. –

+1

Oh, ich sehe, was Sie sagen, Sie laden neu, weil Sie das Fenster nicht schließen können, deshalb die Funkiness. Duh. Ok macht Sinn. Kannst du nicht einfach eine jQuery 'fadeOut()' oder ähnliches machen? – Rasclatt

Antwort

1

Sie können das Modal durch JavaScript im Erfolgsrückruf schließen.

$("#add_post").foundation('close'); 
+0

Ich habe es vorher versucht, aber es hat nicht funktioniert, aber nachdem ich Ihren Code kopiert hatte, funktionierte es wie ein Zauber. Vielen Dank, das schätze ich sehr. –