2016-09-11 4 views
0

Ich habe versucht, eine Dankesnachricht auf der gleichen Seite nach der Einreichung eines Formulars anzuzeigen. Obwohl das Formular korrekt übermittelt wird, wird die Nachricht nicht angezeigt.Danke Nachricht nicht angezeigt nach der Formularübergabe

Ich bin mit dem folgende Javascript dies gerecht zu werden:

$(function() 
     { 
      $('form').submit(function (e) 
      { 
       e.preventDefault(); 
       $.ajax(
       { 
        url: this.action, 
        type: this.method, 
        data: $(this).serialize(), 
        success: function (result) 
        { 
         if(result.indexOf("success") > -1) 
         { 
          document.getElementById("thankyou_message").style.display = "inline"; 
         } 
        } 
       }); 
      }); 
     }); 

Die Antwort der URL so etwas wie diese:

{"result":"success","data":... 

ich meinen Code in der folgenden codepen URL habe : http://codepen.io/abbor123/pen/EgjLdR

Können Sie bitte etwas Licht in die Probleme mit meiner Codierung werfen, die die Anzeige des Textes auf der Seite behindert?

P.S .: Ich bin ein Anfänger und daher bitte ich Sie freundlich zu mir zu sein. :)

Danke. AB

+0

Geht der Code in den 'if' Block? –

+0

Es gibt viele Dinge. Eine Ihrer Ergebnisantwort in Ihrem Beispiel ist kein Array, so dass indexOf nicht funktioniert. Zwei ist das eine JSON-Antwort? Haben Sie überprüft, um sicherzustellen, dass es analysiert wird? – Darkrum

+0

basierend auf Ihrer Rückkehr JSON, Sie wollen überprüfen, ob 'result ['result']' ist Erfolg, nicht nur 'result', die die gesamte JSON enthält –

Antwort

0

von der Antwort, die Sie gepostet haben, nehme ich an, dass Sie eine JSON-Antwort erhalten haben. dann kannst du es so überprüfen.

success: function(response) { 
    if(response.result == 'success') { 
     document.getElementById("thankyou_message").style.display = "inline"; 
    } else { 
     document.getElementById("thankyou_message").style.display = "none"; 
    } 
} 

Überprüfen Sie diesen Beispielcode, der eine JSON-Antwort zurückgibt. https://gist.github.com/rashivkp/ef581ea4f4d4e7fba90086ea2c6bb5d2

+0

Das hat funktioniert. Danke für deine Hilfe. – ABor

-1

ersetzen versuchen:

document.getElementById("thankyou_message").style.display = "inline"; 

zu:

$('#thankyou_messa').fadeIn(); 
0

Ich denke, dass Sie diesen Code versuchen sollten, wenn Ihre Beispieldaten richtig ist:

if(result.result.indexOf("success") > -1){ 
document.getElementById("thankyou_message").style.display = "inline"; 
} 

Sie tun indexOf im JSON-Objekt sollten Sie dies in der Zeichenfolge

tun

http://www.w3schools.com/jsref/jsref_indexof.asp

Verwandte Themen