Jo: Textfeld auf Inhalt prüfen

Hallo, ist es möglich, diesen Quelltext,

  
<form action="index.php" method="POST">  
   <input type="text" name="1" /><br />  
   <input type="submit" value="abschicken" /><br />  
</form>  

so zu verändern, dass der Submit-Button nur angezeigt wird, wenn das Textfeld nicht leer ist?
Danke

  1. @@Jo:

    Hallo, ist es möglich, diesen Quelltext,

    <form action="index.php" method="POST">
       <input type="text" name="1" /><br />
       <input type="submit" value="abschicken" /><br />
    </form>

    so zu verändern, dass der Submit-Button nur angezeigt wird, wenn das Textfeld nicht leer ist?

    Nein. HTML kann nicht abfragen, ob das Textfeld nicht leer ist.

    JavaScript könnte das. Der Wahl des Themengebietes lässt vermuten, dass du dies bereits vermutest hast.

    Wie also sieht dein bisheriger JavaScript-Code aus?

    Live long and prosper,
    Gunnar

    --
    Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
  2. Hallo,

    so zu verändern, dass der Submit-Button nur angezeigt wird, wenn das Textfeld nicht leer ist?

    function ShowOrHideButton()  
    {  
      if(document.getElementById('MeinTextfeld').value != "")  
      {  
          document.getElementById('MeinButton').style.display = "block";  
      }  
      else  
      {  
          document.getElementById('MeinButton').style.display = "none";  
      }  
    }
    

    [...]

      
    <input type="text" id="MeinTextfeld" onkeydown="ShowOrHideButton()" />  
    <input type="submit" id="MeinButton" value="..." />
    

    auf Elemente zugreifen und deren Eigenschaften ändern sind einfache Sachen, die man durch googlen oder durch selfhtml(kein forum) auch selbst lösen kann...

    MfG. Christoph Ludwig

    --
    Wo die Sprache aufhört, fängt die Musik an...
    Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
    Go to this
    1. Mahlzeit minicrispie,

      inwiefern soll eine derartige globale Funktion, die keinerlei Parameter entgegennimmt und nur für eine bestimmte Kombination aus Textfeld und Button funktioniert, helfen?

      function ShowOrHideButton()

      {
        if(document.getElementById('MeinTextfeld').value != "")
        {
            document.getElementById('MeinButton').style.display = "block";
        }
        else
        {
            document.getElementById('MeinButton').style.display = "none";
        }
      }

        
      ~~~javascript
      function ShowOrHideButton(txt, btn_name) {  
        var btn = txt.form.elements[btn_name];  
        
        if (btn) {  
          btn.style.display = (txt.value == '') ? 'none' : '';  
        }  
      }
      
      <input type="text" name="MeinTextfeld" onkeydown="ShowOrHideButton(this, 'MeinButton')" />  
      <input type="submit" name="MeinButton" value="..." />
      

      auf Elemente zugreifen und deren Eigenschaften ändern sind einfache Sachen, die man durch googlen oder durch selfhtml(kein forum) auch selbst lösen kann...

      Dann hättest Du auch http://de.selfhtml.org/javascript/objekte/elements.htm@title=durch http://de.selfhtml.org/javascript/objekte/elements.htm#value@title=entsprechende http://de.selfhtml.org/javascript/objekte/style.htm@title=Links helfen können, anstatt ein nur für diesen Sonderfall eingeschränkt funktionsfähiges Beispiel zu bringen ... :-)

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. Hallo,

        function ShowOrHideButton(txt, btn_name) {

        var btn = txt.form.elements[btn_name];

        if (btn) {
            btn.style.display = (txt.value == '') ? 'none' : '';
          }
        }

        
        >   
        > ~~~html
        
        <input type="text" name="MeinTextfeld" onkeydown="ShowOrHideButton(this, 'MeinButton')" />  
        
        > <input type="submit" name="MeinButton" value="..." />
        
        

        hmm ... und was soll "txt" sein?

        function ShowOrHideButton(btn_name) {

        var btn = document.form.elements[btn_name];

        if (btn) {
            btn.style.display = (btn.value == '') ? 'none' : '';
          }
        }

          
        so ist es besser glaub ich ;-)  
          
          
          
        MfG. Christoph Ludwig
        
        -- 
        Wo die Sprache aufhört, fängt die Musik an...  
        Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)  
          
        Go to [this](http://home.arcor.de/minicrispie/index.html) 
        
        1. Mahlzeit minicrispie,

          function ShowOrHideButton(txt, btn_name) {

          var btn = txt.form.elements[btn_name];

          if (btn) {
              btn.style.display = (txt.value == '') ? 'none' : '';
            }
          }

          
          > >   
          > > ~~~html
          
          <input type="text" name="MeinTextfeld" onkeydown="ShowOrHideButton(this, 'MeinButton')" />  
          
          > > <input type="submit" name="MeinButton" value="..." />
          
          

          hmm ... und was soll "txt" sein?

          In der Variablen "txt" steht das, was man der Funktion als ersten Parameter übergibt. In diesem Fall also das Texteingabefeld (mittels des Schlüsselworts http://de.selfhtml.org/javascript/sprache/objekte.htm#this@title=this übergeben) bzw. ein Objekt, das dieses repräsentiert.

          so ist es besser glaub ich ;-)

          Nein, in keinster Weise. Du hast die Funktionsweise meines Beispiels nicht verstanden. Probiere es bitte einmal aus. Und anschließend Deins. Und dann sag mir, warum Deins nicht funktioniert ... :-)

          MfG,
          EKKi

          --
          sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      2. btn.style.display = (txt.value == '') ? 'none' : '';

        Logischer und besser bedienbar wäre, wenn der Submit-Button immer vorhanden ist, aber ausgegraut (disabled) ist, wenn das Formular nicht absendbar sein soll. Dieses Verstecken und Anzeigen des Buttons ist ziemlich verwirrend.

        Mathias