MCTimotheus: Eigenschaft .value funktioniert nicht im IE

Hi,

ich habe folgendes kleines Skript:

function login_user() {
username = document.getElementById("username").value;
password = document.getElementById("password").value;
alert(username);
alert(password);
}

... und eine kleine Eingabe:

<input name="username" id="username" type="text" size="30" />

<input name="password" id="password" type="password" size="30" />

<input name="login" id="login" onclick="login_user();" type="button" value="Login" />

Im Firefox funktioniert die Geschichte ohne jegliche Fehlermeldung, im InternetExplorer bekomme ich allerdings folgende Meldung:

"Das Objekt unterstützt diese Eigenschaft oder Methode nicht."

Ich hab echt keine Ahnung an was das liegen könnte, es wird sich wohl um das .value drehen aber was is da nicht korrekt ?

Danke und Gruß,

MCT

  1. Hallo,

    anscheinend sind "username" und "password" im IE reserviert, wenn Du andere Variablennamen nimmst, funktioniert es.

    Grüße Basti

    1. Ich habs nun wie folgt geändert aber es funktioniert leider immer noch nicht ...

      function login_user() {
      benutzername= document.getElementById("benutzername").value;
      passwort= document.getElementById("passwort").value;
      alert(benutzername);
      alert(passwort);
      }

      ... und eine kleine Eingabe:

      <input name="benutzername" id="benutzername" type="text" size="30" />

      <input name="passwort" id="passwort" type="password" size="30" />

      <input name="login" id="login" onclick="login_user();" type="button" value="Login" />

  2. Habe es nun nochmal mit komplett anderen Variablennamen probiert und jetzt klappt es, z.B. mit temp_user und temp_pass. Also Finger weg von Variablennamen wie Password, Passwort oder ähnliches.

    Danke und Gruß,

    Timm

    1. Habe es nun nochmal mit komplett anderen Variablennamen probiert und jetzt klappt es, z.B. mit temp_user und temp_pass. Also Finger weg von Variablennamen wie Password, Passwort oder ähnliches.

      Das war nicht das Problem. Du solltest dir einen saubereren Stil angewöhnen.

      Struppi.

      --
      Javascript ist toll (Perl auch!)
  3. ich habe folgendes kleines Skript:

    function login_user() {
    username = document.getElementById("username").value;
    password = document.getElementById("password").value;
    alert(username);
    alert(password);
    }

    Du reitest dich hier in mehrere Sachen rein die dem IE Probleme bereiten:

    * name und id sind identisch, der IE unterschiedet nicht zwischne den Eigenschaften
    * name und Variabelname sind identisch und global (sowieso ein schlechter Programmierstil)
    * du prüfst nicht das was du erwartest zu bekommen.
    * und ganz eventuelle kann es noch sein das password im IE ein reserviertes Wort ist glaub ich aber nicht.

    ... und eine kleine Eingabe:

    <input name="username" id="username" type="text" size="30" />

    <input name="password" id="password" type="password" size="30" />

    <input name="login" id="login" onclick="login_user();" type="button" value="Login" />

    du könntest es dir die Sache wesentlich einfacher machen:
    function login_user(form)
    {
    if(!form || !form.username || !form.password) return;
    alert(form.username.value);
    alert(form.password.value);
    }

    <input name="username" type="text">
    <input name="password" type="password">
    <input name="login" idonclick="login_user(this.form);" type="button" value="Login">

    Struppi.

    --
    Javascript ist toll (Perl auch!)