EKKi: Bei Texteingabe in input-Feld div einblenden

Beitrag lesen

Mahlzeit Philipp.,

Okay - 2 Sekunden googlen: onKeyDown statt onchange tut's (fast) :)

Wobei ich dann eher "http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onkeyup@title=onkeyup" empfehlen würde.

Noch was anderes: lässt sich denn prüfen, ob innerhalb der div-Tags überhaupt etwas steht? Wenn dort nämlich nichts ist, müsste/sollte das div gar nicht eingeblendet werden.

Natürlich:

<script type="text/javascript">[code lang=javascript]  
  
function showtext(txt, div_id) {  
  var div = document.getElementById(div_id);  
  
  if (div) {  
    if (txt.value == '') {  
      div.style.visibility = 'hidden';  
    } else if (div.innerHTML != '') {  
      div.style.visibility = 'visible';  
    }  
  }  
}

</script>
[...]
<input type="text" id="eingabe" onchange="showtext(this, 'textl');"><br>
<div id="textl">
  <a href="#">Text</a><br>
  <a href="#">Text</a><br>
  <a href="#">Text</a><br>
  <a href="#">Text</a><br>
</div>[/code]

Man gibt also was im Textfeld ein, per Ajax wird das div (evtl.) gefüllt, und wenn es Inhalte gibt, soll es angezeigt werden.

Dann müsstest Du das <div> eher in der Funktion einblenden, die die Antwort des AJAX-Requests auswertet: wenn dort was zurückkommt und in das <div> eingefügt wird, kann es direkt angezeigt werden.

MfG,
EKKi

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