Julia: Übergabe Objekt funktioniert nicht

Hi,
ich habe eine JS-Funktion, die etwa so aussieht:

function CheckBuchstabe(obj){
 alert(document.MeinFormName.elements(obj).value);
}

definiert im Javascript-Teil eines php-Dokuments.

Wenn ich diese in php so aufrufe:

echo "<input type='text' name='NName' onKeyUp="CheckBuchstabe('NName');" value='" . $_POST['NName'] . "'>";

funktioniert alles wunderbar. Wenn ich sie allerdings mit

<script language="javascript">    CheckBuchstabe('NName');
</script>

aufrufe, bekomme ich die Meldung, daß ein Objekt erforderlich ist.

Wer hat eine Idee?

Vielen Dank und Grüße,
Julia

  1. Hallo,

    function CheckBuchstabe(obj){
    alert(document.MeinFormName.elements(obj).value);
    }

    du bist viel flexibler, wenn du einfach das Feldobjekt an die Funktion gibst:
    function checkCharacter(fieldNode) {
       alert(fieldObj.value);
    }

    echo "<input type='text' name='NName' onKeyUp="CheckBuchstabe('NName');" value='" . $_POST['NName'] . "'>";

    Das sähe dann so aus:
    echo '<input type="text" name="NName" onkeyup="checkCharacter(this);" value="'.$_POST['NName'].'" />';

    <script language="javascript">    CheckBuchstabe('NName');
    </script>

    Hier müßtest Du dann folgerichtig nicht eine Zeichenkette übergeben, sondern ein DOM-Objekt, in diesem Falle das INPUT-Objekt:
    checkCharacter(document.forms['xy'].elements['NName']);

    Hoffe, das hilft Dir weiter.

    So long,
    Mr.Horse

    --
    No, Sir, I don't like it.
    1. Korrektur:

      function checkCharacter(fieldNode) {
         alert(fieldObj.value);
      }

      alert(fieldNode.value);

      --
      No, Sir, I don't like it.
    2. Hi,
      ja, so werde ich es machen. Dank dir!

      Viele Grüße,
      Julia

  2. hallo,

    ... bekomme ich die Meldung, daß ein Objekt erforderlich ist.

    dann existiert ein Objekt nicht, besser gesagt _noch_ (?) nicht.

    Gruß planB

    1. Hi planB,

      dann existiert ein Objekt nicht, besser gesagt _noch_ (?) nicht.

      in dem Moment existiert das wirklich nicht... oje, da hatte ich Tomaten auf den Augen. Werde mir dann einen "Plan B" einfallen lassen müssen ;-)

      Danke und viele Grüße,
      Julia