2016-11-02 5 views
0

Ich habe versucht, ein Senden Formular erstellen, die sowohl getJSON Aufruf macht die Antwort auf HTML-Vorlage anzeigen und Eingaben übermittelt. Aber ich kann nur die Eingabe- oder Anzeigeantwort, die von getJSON Call empfangen wurde, einreichen. Ich habe versucht, preventDefault Methode zu entfernen und es meiner Funktion hinzuzufügen, aber es funktioniert immer noch nicht. Vielen Dank im Voraus für Anregungen!Eingabeformular nicht nach getJSON Anruf

<form method="post" id="form"> 
    <div> 
     <input type="text" name="newpost" style="width:300px;" placeholder="post here..."> 
     {% if user %} 
      <input type="hidden" name="user_id" value="{{ user.key.id() }}"> 
      <input id="inputButton" type="submit" value="Done"> 
      <div id="jsonInfo"></div> 
      <script> 
       $(document).ready(function(){ 

           $('#inputButton').click(function (e) { 
            var URL = 'URLEXAMPLE'; 
            $.getJSON(URL, function(data){ 

            for (var i = 0; i < data.length; i++){ 
             var info = data[i].content; 
             $("#jsonInfo").append(info); 
            }; 
           }); 
          e.preventDefault(); 


         }); 


       }); 

      </script> 
     {% else %} 
      <input type="button" class="button_active" onclick="location.href='/login'" value="Done"> 
     {% endif %} 
    </div> 
</form> 

Antwort

0

Nach dem für Sie ein

$('#form').submit(); das Formular abzuschicken, e.preventDefault(); derzeit das Standardformular Vorlage blockiert, so dass Sie die Ajax-Request

+0

Form verschwindet sofort, aber die AJAX Antwort vorgelegt senden – Young

+0

Dies ist das normale Verhalten, das Sie von der Seite Mann umleiten – madalinivascu

+0

gibt es eine Möglichkeit, Eingaben zu senden, dann bekommen AJAX Antwort mit einem Klick? – Young