chris: Bereich erst anzeigen wenn bestimmter Name im Formularfeld

Hi, zum ersten muss ich sagen, ob ich nicht weiß ob php dafür genau das richtige ist. Vielleicht auch javascript.

Wie ich in der Überschrift schon versucht habe zu erklären, habe ich hier ein kleines Formular, in dem man Name, Passwort, Text eingeben kann. Wenn ein Beitrag geschrieben ist, kann man auch auf "bearbeiten" gehen und ein Radiobutton anklicken (löschen) und ein festgelegtes Passwort eingeben (welches nur ich weiß), dass der Beitrag gelöscht wird.

Nun will ich aber diese Passage einer Tabelle, sprich
<tr><td>Radiobutton + Passworteingabe</td></tr>
nur anzeigen lassen, wenn im Feld "Name" ein bestimmter Name eingegeben wurde. Z.B. Administrator.

Ist das irgendwie möglich?
Hoffe das jemand dafür ein codeschnipsel rumliegen hat und mir weiterhelfen kann!

Danke schonmal im Vorraus.

Gruß

  1. So wie du es möchtest geht es nur dynamisch per JavaScript. PHP braucht immer einen Request, der bearbeitet serverseitig verarbeitet werden kann.

    Deine Funktion müsste so aussehen.

    function checkName() {

    if(document.getElementById('name').value == 'Administrator') {
    document.get.ElementById('spalte').innerHTML = '<input type="password" name="passwort" />
    }

    }

    Dein Namefeld braucht dann noch einen entsprechenden eventhandler. Bin kein Profi in der Beziehung, aber ich tippe auf onchange.

    Außerdem brauchst du IDs für dein Namefeld und dein td an dem das PW-Feld erscheinen musst. Im Beispiel: name bzw. spalte

    1. Deine Funktion müsste so aussehen.

      Habe ich mal so testweise übernommen, mit angepassten id-namen...

      function checkName() {

      if(document.getElementById('olo').value == 'Administrator') {
      document.get.ElementById('oloto').innerHTML = '<input type="password" name="passwort" />
      }

      }

      In dieses innerHTML='' kommt ja der ganze Text usw, der eigentlich in der td drin ist oder?

      Dein Namefeld braucht dann noch einen entsprechenden eventhandler. Bin kein Profi in der Beziehung, aber ich tippe auf onchange.

      So, in der betroffenen Zeile müsste ja nun der Aufruf oder was auch immer mit dem onchange erfolgen. (Was ich aber nicht verstehe, wie ich das anweisen kann! Mit welchem Befehl denn??

      <input type="text" name="name" style="width:90%;" value="<?echo $user;?>" id="olo" onchange="??(checkName)">

      Oder wie?

      Außerdem brauchst du IDs für dein Namefeld und dein td an dem das PW-Feld erscheinen musst. Im Beispiel: name bzw. spalte

      Habe ich auch gemacht.
          <td valign="top" colspan=2 id="oloto"></td>

      Das Problem ist wie gesagt jetzt der Aufruf...

      1. <input type="text" name="name" style="width:90%;" value="<?echo $user;?>" id="olo" onchange="??(checkName)">

        Oder wie?

        So, ich glaube es muss so heißen:

        <input type="text" name="name" style="width:90%;" value="<?echo $user;?>" id="olo" onchange="checkName()">

        Funktioniert aber trotzdem nicht...

        Was ist falsch bei dem Code? Bitte um Hilfe!

        Danke

      2. Hi, also gibt es keine Lösung für das Problem?

  2. hi,

    Nun will ich aber diese Passage einer Tabelle, sprich
    <tr><td>Radiobutton + Passworteingabe</td></tr>
    nur anzeigen lassen, wenn im Feld "Name" ein bestimmter Name eingegeben wurde. Z.B. Administrator.

    Ist das irgendwie möglich?

    Natürlich.

    Wenn du es clientseitig machen willst, dann mit Javascript.
    Reagiere auf die Änderung des Feldinhaltes, und ändere dann dynamisch die style-Eigenschaften des Elementes, welches von versteckt zu sichtbar wechseln soll (oder ändere seine Klasse, so dass darüber andere Formatierungen wirksam werden).
    Dazu muss das Element natürlich schon von vornherein im Dokument vorhanden sein.

    Wenn du es erst hineingenerieren willst, beschäftige dich mit den DOM-Methoden createElement/appendChild, oder informiere dich über innerHTML.

    Serverseitig geht natürlich auch - dann musst du das Formular aber erst abschicken, den übergebenen Wert auswerten, und davon abhängig den zusätzlichen Inhalt ausgeben oder nicht.

    Hoffe das jemand dafür ein codeschnipsel rumliegen hat und mir weiterhelfen kann!

    Die Informationen sollten ausreichen, um das Problem lösen zu können.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }