tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
240
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    TribunM TribunM ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    177
    Hallo Leute,

    also ich gebe zu bisher habe ich um Ajax einen Bogen gemacht. Aber ich wollte mich jetzt doch mal ein wenig damit beschäftigen. Ich habe ein Anmeldeformumar zu Übungszwecken mal ausschließlich in ajax anstatt in php geschrieben. Bei Fehlern wird ein Feld unter dem Textfeld angezeigt mit der Fehlermeldung.
    Z.B. das div für die Meldung bei einem freien namensfeld wird auf
    Code :
    1
    
    <div style="display: none" id="error_hide"><div class="error_name" id="error_name"></div></div>
    gesetzt und dann mit
    Code :
    1
    
    $('error_hide').show();
    angezeigt. Da ich das ganze mal in zwei Sprachen ausprobieren wollte übergebe ich die language IDs, die in einer Tabelle mit dem Text verbunden werden:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    var glob_data;
    $(document).ready(
    function(){ 
    $.ajax({
    url: 'signup.php',
    dataType: 'json',
    success: function(data){
    $('#error_name').append('<div id="#error_name">'+data[1]+'</div>');
    Nun zu meinem Problem. Ich habe ein Dropdown mit der Auswahl der Sprachen
    Code :
    1
    2
    3
    
        <select onchange="setlang(this.value);" id="select_language">
    <option value="en">english</option>
    <option value="de">deutsch</option></select>

    Ich ändere dann den Text folgendermaßen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    function fetchdata(lang_id){
                $.ajax({
            url: 'signup.php',
            type: 'POST',
            data: 'lang_id='+lang_id,
            dataType: 'json',
            success: function(data){        
            $('#error_name').replaceWith('<div id="error_name">'+data[1]+'</div>');

    Das Problem ist aber, dass der replacewith Befehl meinen
    Code :
    1
    
    <div style="display: none" id="error_hide"></div>
    überschreibt. So dass bei der Umstellung der Sprache die Fehlermeldungen sichtbar werden, was natürlich nicht sein darf. Nach einem Refresh geht das alles wieder.

    Klar die Methode ist komplizierter als PHP und vielleicht nicht die beste, aber ich wollte das eben mal ausprobieren. Wie kann ich das jetzt machen, dass der beim wechsel der Sprache nicht auch die Fehlermeldungen anzeigt? Gibt es einen anderen Befehl als replacewith, der dafür besser ist?

    Ich bin wie gesagt kein Ajax Experte, weswegen ich hoffe, dass mir da Jemand weiterhelfen kann.

    Greetz Tribun
    Geändert von TribunM (14.03.10 um 16:59 Uhr)
     

  2. #2
    TribunM TribunM ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    177
    Ich habe den Fehler selbst gefunden. Danke dennoch
     

Ähnliche Themen

  1. kleine hilfe bei listview
    Von newcode im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 09.02.09, 11:02
  2. kleine hilfe
    Von chrisjahl im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 07.12.07, 14:49
  3. [AJAX][Abschlussarbeit] Kleine online Bildbearbeitung?!
    Von FlorianR im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 16.01.07, 15:13
  4. bräucht nur ne kleine Hilfe ;)
    Von 9th Wonder im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 18.11.04, 16:48
  5. Kleine Logo-Hilfe
    Von FruchtSaft im Forum Photoshop
    Antworten: 13
    Letzter Beitrag: 20.03.03, 21:14

Stichworte