Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Eingabefeld mit Select-Liste

  1. #1
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127

    Eingabefeld mit Select-Liste

    Hallo allerseits,

    ich bin grade dabei ein bestehendes HTML-Formular mit weiteren Gimmicks aufzupeppen.
    Ein Eingabefeld soll sich verhalten wie die URL-Eingabeleiste des Browsers, d.h. eine Texteingabe ist jederzeit möglich, wenn aber ein Eintrag aus dem Verlauf gewählt wird, soll die Texteingabe damit überschrieben werden.

    Ich meinte mich an ein Beispiel aus Selfhtml zu erinnern, wo das nötige JS dazu zu finden ist, da scheine ich mich aber falsch erinnert zu haben, das gibt es so garnicht.

    Meine Frage lautet also: Wie heißt das richtige Event in JS wenn man einen Eintrag aus einer Selectliste auswählt (damit ich den Wert dann in das Textfeld schrieben kann) ?

    Gruß,
    Molaf

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.10.2005
    Ort
    Hamminkeln
    Beiträge
    302
    Hi,

    wenn ich dich richtig verstanden habe, dann hast du, u. a., ein beschreibbares Textfeld und eine Auswahllist. Wenn nun ein Wert
    aus der Auswahlliste ausgewählt wird, soll dieser dann in das Feld
    eingetragen werden, der bisherige Wert wird überschrieben.

    So etwas kann du m. E. am Besten mittels Javascript lösen. Mit dem "onChange-Event" der Auswahlliste wird eine Funktion verknüpft, welche
    den Rest erledigt. Ohne jetzt auf Fehleingabe zu testen usw. könnte es so aussehen:
    function SetField( field_name ) {
    /*mein Feldname = ass#name_nummer (ass=Assortment)*/
    var pos=field_name.indexOf("#")+1;
    /*Der erste Teil wird abgeschnitten, dadurch entsteht der Zielfeldname*/
    var set_field_name = field_name.substring(pos);
    /*Zielfeld holen*/
    var field = document.getElementById(set_field_name);
    /*Beschreibe Zielfeld [Wert übernehmen aus Auswahlliste]*/
    field.value=document.getElementById(field_name).va lue
    /*Auswahlliste löschen [erster Eintrag ist "" ]*/
    document.getElementById(field_name).value="";
    /*Setze Fokus in Zielfeld*/
    field.focus();
    }

    So wird der Aufruf mit der Auswahllist verknüpft:
    <select name='$field_name' style='width: 215px;' onchange='SetAuthPaintField(\"$field_name\" )'>

    Obiger Code ist ein funktionsfähiges, aber sicher noch verbesserbares,
    Beispiel.

    Hoffe es hilft dir.
    Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

  3. #3
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    Hi,

    ich habe es inzwischen so gelöst:
    JS:
    Code:
    	function JS_Material(value)
    		{document.getElementById("ID_Material").value=value;}
    HTML:
    Code:
    <input type="text" name="RN_Material"  size="40" maxlength="255"
     class="normdata" id="ID_Material" />
    
    <select name="VG_Material"  onclick="JS_Material(this.value)">
    <option value=""></option>
    <option value="0.12">0.12</option>
    <option value="0.122">0.122</option>
    <option value="0.125">0.125</option>
    <option value="0.3">0.3</option>
    <option value="0.25">0.25</option>
    <option value="0.22">0.22</option>
    <option value="0.2">0.2</option>
    </select>
    Durch onClick wird zwar das Eingabefeld schon gelöscht wenn man die Auswahl erst beginnt, aber das Verhalten finde ich tolerabel. onChange scheint aber tatsächlich die bessere Wahl zu sein, ich ändere das demnächst nochmal.

    Danke für die Antwort
    Molaf

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •