koerschgen2001: Mehrfachauswahl in Inputfeld schreiben.

Ich habe ein kleines Script, dass einen ausgewählten Namen aus einer Liste in das Emfpängerfeld meines Formulars schreibt.

document.Messageform.empfaenger.value = document.Messageform.userliste.value;

Dieses Script trägt aber immer nur einen Namen ein. Ich möchte aber eine Mehrfachauswahl ermöglichen.

if(document.Messageform.empfaenger.value != "")
 document.Messageform.empfaenger.value = document.Messageform.empfaenger.value+","+document.Messageform.userliste.value;
else
 document.Messageform.empfaenger.value = document.Messageform.userliste.value;

Mit diesem Ansatz werden zwar mehrere Namen in das Formularfeld geschrieben, aber durch
einzel Auswahlen die hintereinander passieren. Ich möchte aber dass nur dann mehrere Namen
ins Feld geschrieben werden, wenn auch mehrere Namen ausgewählt sind(STRG-Taste gedrückt).

Also so dass die Selektierten Felder mit den Namen im Formularfeld übereinstimmen.

  1. Hi,

    Ich möchte aber dass nur dann mehrere Namen
    ins Feld geschrieben werden, wenn auch mehrere Namen ausgewählt sind(STRG-Taste gedrückt).

    Loope durch alle options, prüfe ob gechecked, erzeuge einen String zur Weiterbearbeitung:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
    <html><head><script type="text/javascript">
    function dpl(el){
        var txt = "";
        for (i = 0; i < el.length; i++){
            if (!el[i].selected) continue;
            txt += (txt? ", " : "") +  el[i].value;
        }
        alert(txt);
    }
    </script></head><body><form>
        <select name="sel" multiple onclick="dpl(this)">
         <option value="1">1</option>
         <option value="2">2</option>
         <option value="3">3</option>
         <option value="4">4</option>
         <option value="5">5</option>
        </select>
    </form></body></html>

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Im Internet Explorer funktioniert es erst beim zweiten klick.

      Hab bis jetzt noch nicht rausgefunden woran es liegt.

      1. Es ist der Event-Handler. Ich kann dir gerade nicht sagen warum, aber wenn du onchange statt onclick nimmst dann geht es. Offenbar wird onclick ausgelöst bevor das neue Element selektiert ist, zumindest gibt im ersten Durchlauf kein Element "true" zurück, in späteren Durchläufen fehlt jeweils die aktuelle Auswahl.

        MfG
        Rouven

        --
        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(