Wert aus ComboBox in Textfeld übergeben

@Huseyin Kein Problem, gern geschehen. :)

@Malleus & Pit
Naja, wenns funktioniert... Aber ich halte mich da lieber an die Spezifikationen. Nur weil moderne Browser etwas unterstützen heisst das ja nicht dass es in zukünftigen Standards enthalten sein wird und auch nicht dass es zukünftige Browser noch unterstützen.
Wenn's nach dem W3C geht, sollte man da nicht auch dem Select ein "name"-attribut geben und dann über "document.forms[0].elements[selectName]" darauf zugreifen?
Echt jetzt? Wusst ich nicht. Aber warum? Über welches Objekt man zum Ziel kommt sollte doch egal sein, sofern die Synthax richtig ist.
 
Hi dms,
okay, daß mit dem "name"-Zugriff war vielleicht unnötig, aber damit wollte ich eigentlich nur zeigen, daß es immer mehrere Möglichkeiten gibt, etwas zu beschreiben. Auch kann' ich diese ewigen Grundsatz-Diskussionen bzgl. W3C usw. nicht mehr hören.

Für mich persönlich sind es "Vorschläge" wie etwas auszusehen hat. Nicht alles was sich die W3C-Jungs ausgedacht haben, ist das Gelbe vom Ei. Eigentlich müßte es irgendwann einmal ein "Update" geben.
Beispiel:
"innerHTML". Hast Du 'mal dynamisch eine mehrzeilige Tabelle mit den Methoden des W3C's aufgebaut? Grausam! "InnerHTML"
ist hier um einiges "schöner" und wird glaub' ich sogar mittlerweile vom W3C geduldet.
"Document.all": FF unterstützt es jetzt auch. Warum auch nicht? Warum soll ich überall "document.getElementById" hinschreiben, wenn's auch ohne gehen kann. Das Script wird dadurch kleiner, es entsteht weniger Traffic, die Seite ist schneller da.

Auch denke ich nicht, daß ein Browserhersteller, der jetzt gerade ein Feature eingebaut hat, dieses später wieder herausnimmt.

Ich vergleiche die W3C-Spezifikationen immer gerne mit der Straßenverkehrsordnung. Jeder kennt die Regeln,wie man zu "fahren" hat, aber kaum einer hält sich daran. Man darf sich dabei nur nicht erwischen lassen, d.h. in unserem Falle: eine Seite wird nicht korrekt angezeigt.

Das ganze heißt jetzt nicht, daß ich meine Seiten nicht auch validiere. Eine Validierung ist immer sinnvoll!

Jetzt nochmal zum eigentlichen Problem: Wo steht beim W3C, daß ich nicht den "value" auslesen darf? Ich hab' gesucht, aber noch nichts gefunden.

Wenn man vom W3C spricht, wird auch immer gerne "Selfhtml" als Referenz genannt. Also hab' ich dort auch nachgeschaut und das folgende gefunden.

Selfhtml - Select

value = Aktueller Auswahlwert

Ist doch okay, oder?
 
Du hast tatsächlich recht. Ich habe mal nachgeschaut: http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html.html#ID-94282980
Hab ehrlich gesagt keine Ahnung wieso ich davon ausgegangen bin dass es nicht zum Standard gehört. Vlt lag's daran dass vor ein paar Jahren nur der IE diese Eigenschaft unterstützt hat. Weder der alte Netscape (gut, das ist wohl kein Argument ;)) noch Opera 5 konnten damit was anfangen. Da lag die Schlussfolgerung, dass es was IE-Spezifisches ist, wohl nahe...
 
Alles klar. Freut' mich übrigens, daß es hier wieder jemand "neues" gibt, mit dem ich mich bzgl. Javascript "streiten" kann ;-) Also nicht "weglaufen" und hier bleiben!

Tschau bis zum nächsten Mal!
 
Moin!

Du und Streithammel - geht das (vielleicht mit Gretel)? :D

Aber Ernst bei Seite, freue mich (selbst noch neu) über einige andere Neulinge, darunter Dich, dms. Auf eine zwieträchtige Zukunft. :D

Gruß - Pit
 
Nene, ich glaub ich werde nicht lange hier bleiben. Ihr stehlt mir ja viel zu viel Zeit. ;) Aber Ihr kennt das sicher: Man löst sich (endlich) von einem Forum und meldet sich in 3 neuen an und bleibt dort hängen. ;)
 
Malleus schrieb:
Beispiel:
"innerHTML". Hast Du 'mal dynamisch eine mehrzeilige Tabelle mit den Methoden des W3C's aufgebaut? Grausam! "InnerHTML"
ist hier um einiges "schöner" und wird glaub' ich sogar mittlerweile vom W3C geduldet.

Naja, schöner ist relativ, ich find ellenlangen HTML Code im Skript eher unschön. Je nach Umfang muss man sich eben Funktionen schreiben die das machen. Aber die create.. Funktionen, haben den Vorteil, dass du auf jedes Element sofort Zugriff hast und es nicht wieder aus dem HTML Code pulen musst z.b. um einen Event einzufügen oder nachträglich zu ändern.
 
@EinSchlauer: Ich glaub', mit Dir "streite" ich mich immer noch am Liebsten ;-) Ehrlich, Ich hab' schon auf Deinem Kommentar zu diesem Thread gewartet.

Wir beide haben nunmal ganz verschiedene Meinungen: Du bist der Vollblut W3C'ler und meine Meinung dazu kennst Du ja.

Für mich gibt es keine beste Lösung für alle möglichen Situationen. Alles muß im Kontext gesehen werden. Wie auch hier mit innerHTML. Du wirst Dich vielleicht wundern, aber auch ich verwende "createElement, wenn es sinnvoll ist. Manchmal sind createElement-Anweisungen schneller, manchmal "innerHTML", manchmal bin ich auch einfach zu "bequem".

Kannst Du dich noch an den Thread bzgl. Dynamische Erzeugung einer Table" erinnern? Ich hab' hier 'mal einen Benchmark eingebunden.

Wie lange dauert das Erzeugung von 100 Tabellen und ich war ehrlich überrascht, daß die innerHTML-Methode um einiges schneller ist.

Ergebnis auf meiner Maschine:
MSIE 6: createElement" : 156 ms, innerHTML: 16ms
FF 1.01 createElement" : 90 ms, innerHTML: 30ms
Opera 8: createElement" : 15 ms, innerHTML: 15 ms ( Überraschung ! )

PHP:
<script language="JavaScript" type="text/javascript"> 
function createTableW3C() 
{ 
 var d1=new Date();
 var myContainer=document.createElement("DIV");
 for (var i=0;i<100;i++)
 {
    var myTABLE=document.createElement("TABLE"), 
    myTBODY=document.createElement("TBODY"), 
    myTR=document.createElement("TR"), 
    myTD1=document.createElement("TD"), 
    myTD2=document.createElement("TD"), 
    myText1=document.createTextNode("A"+i), 
    myText2=document.createTextNode("B"+i); 
     
    myTABLE.border=i; 
     
    myTD1.appendChild(myText1); 
    myTD2.appendChild(myText2); 
     
    myTR.appendChild(myTD1); 
    myTR.appendChild(myTD2); 
    myTBODY.appendChild(myTR); 
    myTABLE.appendChild(myTBODY); 
     
    myContainer.appendChild(myTABLE);
}
document.getElementById("myDiv").appendChild(myContainer);
    
alert(new Date()-d1); 
}

function createTableInnerHTML() 
{ 
    d1=new Date();
    var content="<DIV>";
    for (var i=0;i<100;i++)
        content+='<TABLE border="'+i+'"><TR><TD>A'+i+'</TD><TD>B'+i+'</TD></TR></TABLE>';
    content+="</DIV>"
    document.getElementById("myDiv").innerHTML=content;
    alert(new Date()-d1); 
} 
</script> 

<input type="button" onclick="createTableW3C()" value="Test W3C"> <input type="button" onclick="createTableInnerHTML()" value="Test InnerHTML"> <input type="button" onclick="document.getElementById('myDiv').innerHTML=''" value="Lösche Table">

<div id="myDiv"></div>


Für mich persönlich ist auch die "Download"-Größe einer HTML-Datei sehr wichtig. Die erzeugte Seite soll auch mit langsamer Leitung schnell erscheinen und meinem Transfervolumen tut's auch gut.


und wie bereits gesagt, es kommt immer darauf an, was man machen will.
 
Ich streit mich nicht gerne, ich tausche nur gerne Argumente aus ;-)

Als Vollblut W3Cler seh ich mich überhaupt nciht, ich verwende z.b. nie setAttribute (im gegensatz zu dir) zumal sie sowieso nicht immer greift. Ich verwende durchaus auch innerHTML, vor allem dann wenn man schnell mal eine Meldung anzeigen möchte. Bei komplexeren HTML Strukturen sind mir die crate Methoden lieber, da ich damit die volle Kontrolle über das Element habe und mir keine Gedanken über verschachtelte HTML Tags machen muss.

Wegen der Geschwindigkeit ist auch das hier http://www.quirksmode.org/dom/innerhtml.html interessant.
 
Zurück
Oben