Kleine Hilfe für Ajax Sign Up

TribunM

Erfahrenes Mitglied
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:
<div style="display: none" id="error_hide"><div class="error_name" id="error_name"></div></div>
gesetzt und dann mit
Code:
$('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:
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:
	<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:
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:
<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
 
Zuletzt bearbeitet:
Zurück