Georg: Abfrage von Loginname, Loginname zu Realnamen ändern

Hallo,

ich bin derzeit in der JavaScript Einarbeitungsphase, bin darin nicht sehr fit. Durch Infos über google habe ich mir das mal zusammengeschnitzt.

Zum Hintergrund, ich möchte mit dem Script 2 Eingabefelder gleichzeitig abfragen (bearbeiter und pruefer), sofern der Loginname/Username in der Liste steht, soll dieser durch den richtigen Namen ersetzt werden.

Ist das Script soweit richtig?

function Check()  
{  
  
var bearbeiter =  $('BEARBEITER').value;  
var pruefer =  $('PRUEFER').value;  
  
  
username = new Array();  
realname = new Array();  
  
  
username[1] = "Username 1";  
realname[1] = "Realname 1";  
  
username[2] = "Username 2";  
realname[2] = "Realname 2";  
  
username[3] = "Username 3";  
realname[3] = "Realname 3";  
  
  
  
  
if (bearbeiter == "") {  
	alert("Fehlende Eingabe!");  
	return false;  
} else {  
	if (bearbeiter == username[i]) {  
		$('BEARBEITER').value = realname[i];  
		return true;  
	} else {  
		$('BEARBEITER').value = bearbeiter;  
		return true;  
	}  
}  
  
  
  
  
if (pruefer == "") {  
	alert("Fehlende Eingabe!");  
	return false;  
} else {  
	if (pruefer == username[i]) {  
		$('PRUEFER').value = realname[i];  
		return true;  
	} else {  
		$('PRUEFER').value = pruefer;  
		return true;  
	}  
}  
}

Danke

  1. Hallo Georg,

    Ist das Script soweit richtig?

    nö.

    if (bearbeiter == "") {  
            alert("Fehlende Eingabe!");  
            return false;  
    } else {  
            if (bearbeiter == username[i]) {  
                    $('BEARBEITER').value = realname[i];  
                    return true;  
            } else {  
                    $('BEARBEITER').value = bearbeiter;  
                    return true;  
            }  
    }  
    
    

    Wo kommt das "i" her ? Das ist nirgendwo definiert und wird folglich einen Fehler erzeugen bzw. nicht das machen, was du gerne hättest. Für deine Aufgabe brauchst du eine http://de.selfhtml.org/javascript/sprache/schleifen.htm@title=Schleife.
    Gruß

    --
    Science flies you to the moon.
    Religion flies you into buildings.
    selfcode: ie:{ fl:| br:^ va:? ls:< fo:{ rl:( n4:{ ss:} de:[ js:} ch:{ sh:) mo:? zu:)
    1. na ich dachte das [i] kommt vom neuen array oben :/

      ja welche Schleife muss ich einbaun? ich habe davon wenig ahnung :(

  2. @@Georg:

    nuqneH

    ich bin derzeit in der JavaScript Einarbeitungsphase

    Komm raus aus der JavaScript!

    Ist das Script soweit richtig?

    Funktioniert es denn?

    var bearbeiter =  $('BEARBEITER').value;
    var pruefer =  $('PRUEFER').value;

    Welches Framework verwendest du, damit dass funktioniert?

    username = new Array();
    realname = new Array();

    username[1] = "Username 1";
    realname[1] = "Realname 1";

    username[2] = "Username 2";
    realname[2] = "Realname 2";

    username[3] = "Username 3";
    realname[3] = "Realname 3";

    <http://de.selfhtml.org/javascript/sprache/variablen.htm@title=Globale Variablen> sind pfui! Arrayindizes fangen in JavaScript bei 0 an zu zählen.

    Und dann könntest du das kürzer schreiben:

    var username = ["Username 1", "Username 2", "Username 3"];  
    var realname = ["Realname 1", "Realname 2", "Realname 3"];
    

    Es ist aber nicht sinnvoll, zusammengehörende Daten zu trennen (d.h. in getrennten Arrays abzulegen).

    Besser wäre solch eine Datenstruktur:

    var users = [  
      {  
        "username": "Username 1",  
        "realname": "Realname 1"  
      },  
      {  
        "username": "Username 2",  
        "realname": "Realname 2"  
      },  
      {  
        "username": "Username 3",  
        "realname": "Realname 3"  
      }  
    ];
    

    Zugriff per users[i]["username"] und users[i]["realname"].

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. also müsste das folglich so aussehen?

      function Check()  
      {  
        
      var bearbeiter =  $('BEARBEITER').value;  
      var pruefer =  $('PRUEFER').value;  
        
        
      var users = [  
        {  
          "username": "Username 1",  
          "realname": "Realname 1"  
        },  
        {  
          "username": "Username 2",  
          "realname": "Realname 2"  
        },  
        {  
          "username": "Username 3",  
          "realname": "Realname 3"  
        }  
      ];  
        
        
        
        
      if (bearbeiter == "") {  
      	alert("Fehlende Eingabe!");  
      	return false;  
      } else {  
      	if (bearbeiter == users[i]["username"]) {  
      		$('BEARBEITER').value = users[i]["realname"];  
      		return true;  
      	} else {  
      		$('BEARBEITER').value = bearbeiter;  
      		return true;  
      	}  
      }  
        
        
        
        
      if (pruefer == "") {  
      	alert("Fehlende Eingabe!");  
      	return false;  
      } else {  
      	if (pruefer == users[i]["username"]) {  
      		$('PRUEFER').value = users[i]["realname"];  
      		return true;  
      	} else {  
      		$('PRUEFER').value = pruefer;  
      		return true;  
      	}  
      }  
      }
      

      aber werden beide IF-Anweisungen so verarbeitet von bearbeiter und pruefer??? denke bei "return true" bricht er das script ja ab.

      es müssen unbedingt beide variablen geprüft werden, die Daten kommen aus einer anderen Datenbank und müssen geändert werden.

      1. Hi,

        es müssen unbedingt beide variablen geprüft werden, die Daten kommen aus einer anderen Datenbank und müssen geändert werden.

        Bist du dir wirklich sicher, dass JavaScript die richtige Sprache ist? Wenn du mit Datenbanken arbeiten willst brauchst du im Normalfall etwas serverseitiges, wie z.B. PHP.

        Gruß
        Alex

        1. japp, ... jemand eine Idee?