kerki: Gibt's gotfocus()? Ich kann keine richtige Frage finden...

Beitrag lesen

Hallo !

Stell Dir vor, es ist Chat und keiner geht hin...

Tja, irgendwann muss selbst ich schlafen! :-)

Ich habe 2 Frames
Links sind viele Eingabefelder mit verschiedenen Namen (37 an der Zahl)
Rechts stehen die Namen (>20), die man in diese Felder eintragen kann.
Die Namen sind natürlich nach dem Alphabet geordnet.
In das erste Feld im linken Frame wird der Name eingetragen, der als erstes gedrückt wird. Im zweiten Feld im linken Frame wird der Name eingetragen, der als zweites angeklickt wird, egal ob dieser Name davor oder danach steht.
Diesmal gecheckt? *hoff*

Ich glaube, ich hatte das Problem bereits beim allerersten Mal verstanden.

Dennoch kann ich im Moment nur mit Folgendem dienen:

Für die Liste mit den Ärztenamen habe ich ein <select>-Element genommen und nicht verschiedene Buttons. Dies macht bei der Bedienung keinen Unterschied, ist aber m.E. viel einfacher zu "programmieren", weil man einfach den Wert nur eines Element abfragen muss und nicht zig Elemente auf ihren jeweiligen Wert.

Nun habe ich neben die eigentlichen Text-Eingabefelder für die Ärztenamen jeweils einen kleinen Zusatzbutton gesetzt, der den jeweils selektierten Namen aus der Auswahlliste in das Textfeld übernimmt.

Mit 2 Klicks pro Eintrag ist man damit also am Ziel.

Hier der komplette Quellcode:
---------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
<title>Titel</title>
<style type="text/css">
body { font-size:100%; font-family:Verdana, Arial, sans-serif; background-color:#ffffff; }
h1 { font-size:105%; }
</style>
<script type="text/javascript">
<!--
function variante1 (zielfeld) {
 document.getElementById("feld"+zielfeld).value = document.getElementById("quelle").options[document.getElementById("quelle").selectedIndex].value;
}
//-->
</script>

<h1>Variante 1 :</h1>
<table width="100%">
 <tr align="left">
  <th>Ziel:</th>
  <th>Quelle:</th>
 <tr valign="top">
  <td>
   <form action="form_optionen.html" method="get" id="ziel">
    <table>
     <tr><td>Raum 1:
      <button type="button" onclick="variante1(1);">-></button>
      <input name="r1" id="feld1" type="text"></td></tr>
     <tr><td>Raum 2:
      <button type="button" onclick="variante1(2);">-></button>
      <input name="r2" id="feld2" type="text"></td></tr>
      <tr><td>Raum 3:
      <button type="button" onclick="variante1(3);">-></button>
      <input name="r3" id="feld3" type="text"></td></tr>
     <tr><td>Raum 4:
      <button type="button" onclick="variante1(4);">-></button>
      <input name="r4" id="feld4" type="text"></td></tr>
     <tr><td>Raum 5:
      <button type="button" onclick="variante1(5)">-></button>
      <input name="r5" id="feld5" type="text"></td></tr>
    </table>
   </form>
  <td>
    <select id="quelle" size="8">
     <option value="Hans Meier" selected>Hans Meier</option>
     <option value="Klaus Schmidt">Klaus Schmidt</option>
     <option value="Theo Müller">Theo Müller</option>
     <option value="Vera Schulze">Vera Schulze</option>
     <option value="Thomas Wolters">Thomas Wolters</option>
     <option value="Ottfried Krause">Ottfried Krause</option>
     <option value="Leo Buchholz">Leo Buchholz</option>
    <select>
  </td>
 </tr>
</table>
---------------------------------------------------------------------

Entscheidend ist nur die 1 Zeile JavaScript-Code

document.getElementById("feld"+zielfeld).value = document.getElementById("quelle").options[document.getElementById("quelle").selectedIndex].value;

i.e.: "Lies den Namen aus der rechten Liste (Quelle) und setze ihn in das Textfeld (feld1, feld2 usw.)"

(Frames habe ich bei meinem Vorschlag jetzt gar nicht berücksichtigt, weil das die Ansprache der Felder nur komplizierter macht. Prinzipiell müsste es mit Frames aber genausogut funktionieren.
Funktionieren wird das Beispiel zudem nur im IE6 und Mozilla 0.9.5 wegen der Ansprache der Elemente über die ID, aber auch das hat nur mit meiner Bequemlichkeit zu tun)

Die von dir gewünschte 1-Klick Variante ist etwas komplizierter, weil man sich ja durchaus _ver_-klicken kann, so dass ein simples Springen von einem Feld zum nächsten allein m.E. nicht taugt.

Aber vielleicht fällt mir dazu noch etwas ein. Wenn, dann melde ich mich auf jeden Fall noch 'mal.

Gruß,

kerki