2017-06-04 4 views
0

Ich versuche, eine Dummy-Nachricht oben auf "An:" Nur-lesen-Inout-Box anzuzeigen, nachdem Sie auf die Schaltfläche Send Mail im Mail-Tab wie unten gezeigt geklickt haben. mailtab Aber was passiert, ist anstelle der Anzeige der Nachricht, es öffnet sich "FAQ" Registerkarte. Können Sie mir vorschlagen, wie ich eine Nachricht über das Eingabefeld anzeigen kann, ohne auf die Registerkarte FAQ zu wechseln? Vielen Dank.Warum führt der Senden-Button zu einem anderen Tab?

Hier ist die codepen

$("#frmDemo").submit(function(e) { 
    e.preventDefault(); 
    var name = $("#name").val(); 
    var comment = $("#comment").val(); 
    if(name == "" || comment == "") { 
    $("#error_message").show().html("All Fields are Required"); 
    } else { 
$("#error_message").html("").hide(); 
$.ajax({ 
    type: "POST", 
    url: "post-form.php", 
    data: "name="+name+"&comment="+comment, 
    success: function(data){ 
    $('#success_message').fadeIn().html(data); 
    setTimeout(function() { 
     $('#success_message').fadeOut("slow"); 
    }, 2000); 

    } 
}); 
} 
}); 
+0

Können Sie bitte die href der Taste überprüfen? – Abhishek

+0

[Idiot Idee] versuchen, am Ende "Rückkehr falsch", um jede Ausbreitung zu stoppen ist vielleicht eine Lösung? – pirs

+0

[Idiot Idee] Sie sollten '.focus()' auf dem falschen Feld, um sicher zu sein – pirs

Antwort

-1

Ich denke, die Taste, um die FAQs Tab verknüpft ist. Möglicherweise hat die Schaltfläche Daten-Toggle-AMD-href-Attribute auf die FAQ-ID gesetzt.

Überprüfen Sie auch, ob eine Validierung in der FAQ-Registerkarte vorhanden ist, da Sie möglicherweise ein einzelnes Formular für alle Registerkarten verwendet haben.

Können Sie bitte den HTML-Code der Seite

+0

es ist nicht: '' ... – pirs

+0

Ich bin sicher, dass ich keine href-Attribute zu FAQ gegeben habe. Hier ist der Codepen https://codepen.io/HebleV/pen/vZYvGb – HebleV

0

versuchen so etwas wie dies teilen:

$("form#frmDemo").submit(function(e) { 

    let t = $(this); 
    let name = t.find("#name").val(); 
    let comment = t.find("#comment").val(); 
    let errorMsg = t.find("#error_message"); 
    let successMsg = t.find("#success_message"); 

    if(name == "" || comment == "") { 

    errorMsg.html("All Fields are Required").show(); 

    } else { 

    errorMsg.html("").hide(); 

    $.ajax({ 
     type: "POST", 
     url: "post-form.php", 
     data: "name="+name+"&comment="+comment, 
     success: function(data){ 
     successMsg.fadeIn().html(data); 
     setTimeout(function() { 
      successMsg.fadeOut("slow"); 
     }, 2000); 

     } 
    }); 

    } 

    e.preventDefault(); 
}); 
+0

Es hat nicht funktioniert. Kann eine Dummy-Nachricht nur auf Knopfdruck angezeigt werden? – HebleV

+0

Edit: Ich las den Zustand der Seite ändern Sie die Tabs mit Ajax, und die preventDefault sollte am Ende des Skripts sein, versuchen Sie es plz – pirs

+0

@HebleV haben Sie die Änderung sehen? – pirs

Verwandte Themen