Value entnehmen und weitersenden
Christian
- javascript
Hallo,
ich brauche einen JAVASCRIPT.
wenn man aus diesem Dropdown-menu eine Farbe auswählt, soll die Seite farben.php geöffnet werden und der dazugehörige Value als Variable mitgegeben werden.
Hat jemand eine Idee?
<select onchange="???" name="Farbe" size="1">
<option value="1">rot</option>
<option value="4">schwarz</option>
<option value="2">blau</option>
<option value="6">gruen</option>
<option value="3">rosa</option>
</select>
Vielen Dank
Idee:
Mehr Informationen weiterreichen.
Was soll die Datei farben.php ausgeben?
Wo soll sie ausgegeben werden?
Soll das Dropdown Menü dennoch weiter angezeigt werden?
Vorschlag:
Fragen beantworten und ansonsten mal Gedanken zum Thema AJAX machen :)
Idee:
Mehr Informationen weiterreichen.
Was soll die Datei farben.php ausgeben?
Ich möchte die ID in farben.php benutzen.
Wo soll sie ausgegeben werden?
Sie die Seite im selben Fenster neu laden.
Soll das Dropdown Menü dennoch weiter angezeigt werden?
Ja, soll auf der seite farben.php mit der ausgewählten Einstellung angezeigt werden.
Vorschlag:
Fragen beantworten und ansonsten mal Gedanken zum Thema AJAX machen :)
Ja, soll auf der seite farben.php mit der ausgewählten Einstellung angezeigt werden.
http://de.wikipedia.org/wiki/Affenformular
http://www.php-faq.de/q/q-stil-normalform.html
Schmarrn,
es steht doch alles in der Fragestellung drin. Und AJAX braucht man sicher nicht.
function open() {
farbe = document.getElementById(farbauswahl).value;
top.location.href='farben.php?farbe=' + userid;
}
open() bei onchange eintragen.
Wichtig: id="farbauswahl" muss in <select> mit rein!
Bei Klick auf einen wert wird farben.php aufgerufen und wert übergeben
Samoht
function open() {
farbe = document.getElementById(farbauswahl).value;
top.location.href='farben.php?farbe=' + userid;
}
function open() {
farbe = document.getElementById(farbauswahl).value;
top.location.href='farben.php?farbe=' + farbe;
}
sorry, hatte micht "vertippt". userid hat natürlich hier nichts zu suchen, das brauchte ich in meinem eigenen script
function open() {
farbe = document.getElementById(farbauswahl).value;
top.location.href='farben.php?farbe=' + userid;
}function open() {
farbe = document.getElementById(farbauswahl).value;
top.location.href='farben.php?farbe=' + farbe;
}sorry, hatte micht "vertippt". userid hat natürlich hier nichts zu suchen, das brauchte ich in meinem eigenen script,
Danke dir,
aber funktioniert noch nicht ;(
hab das jetzt so gemacht.
<script type="text/javascript">
function open() {
farbe = document.getElementById(farbauswahl).value;
top.location.href='farben.php?farbe=' + farbe;
}
</script>
<select id="farbauswahl" onchange="javascript:open()" name="Farbe" size="1">
<option value="1">rot</option>
<option value="4">schwarz</option>
<option value="2">blau</option>
<option value="6">gruen</option>
<option value="3">rosa</option>
</select>
eigentlich soll sich ja beim Ändern die seite farben.php öffnen.
passiert nur nix.
Findest du einen Fehler?
Danke
das "javascript:" kannst/musst du weglassen...
falls du das script nicht wiederverwenden möchtest, sondern nur "einmal" brauchst, kannst du auch auf die lösung von Don P. zurückgreifen... die ist wesentlich kürzer, aber eben "dirty" ;)
Samoht
na hab ichs so:
<script type="text/javascript">
function open() {
farbe = document.getElementById(farbauswahl).value;
top.location.href='farben.php?farbe=' + farbe;
}
</script>
<select id="farbauswahl" onchange="open()" name="Farbe" size="1">
<option value="1">rot</option>
<option value="4">schwarz</option>
<option value="2">blau</option>
<option value="6">gruen</option>
<option value="3">rosa</option>
</select>
Das farbauswahl im script muss sicherlich noch mit Änführungsstriche versehen werden. Wenn ich nun etwas auswähle, hängt er sich im browser auf.
entschuldige bitte,
farbe = document.getElementById("farbauswahl").value;
da müssen natürlich " hin. die fehlermeldungen von js sind ja leider recht dürftig. ich hab vorhin nur schnell was zusammengeschustert ohne es zu prüfen.
Samoht
entschuldige bitte,
farbe = document.getElementById("farbauswahl").value;
da müssen natürlich " hin. die fehlermeldungen von js sind ja leider recht dürftig. ich hab vorhin nur schnell was zusammengeschustert ohne es zu prüfen.
Samoht
Find trotzdem den Fehler nicht ;(
er versucht gar nicht farben.php zu öffnen.
<script type="text/javascript">
function open() {
farbe = document.getElementById("farbauswahl").value;
top.location.href='farben.php?farbe=' + farbe;
}
</script>
<select id="farbauswahl" onchange="open()" name="Farbe" size="1">
<option value="1">rot</option>
<option value="4">schwarz</option>
<option value="2">blau</option>
<option value="6">gruen</option>
<option value="3">rosa</option>
</select>
nun... mein fehler in meiner eile... du darfst open natürlich nicht verwenden... das war ein schlecht gewähltes beispiel von mir...
nenn die funktion farbeAuswaehlen oder so...
nun... mein fehler in meiner eile... du darfst open natürlich nicht verwenden... das war ein schlecht gewähltes beispiel von mir...
nenn die funktion farbeAuswaehlen oder so...
oh mein gott...
danke^^
was fürn scheiss...
kann ich mich ja dumm suchen.
Hallo,
<script type="text/javascript">
function open() {
farbe = document.getElementById("farbauswahl").value;
top.location.href='farben.php?farbe=' + farbe;
}
</script><select id="farbauswahl" onchange="open()" name="Farbe" size="1">
Warum denn einfach, wenn's auch umständlich geht, gelle.
Gefällt dir meine Lösung nicht, oder hast du sie gar nicht gelesen?
Der einzige Schönheitsfehler daran ist, dass im HTML-Attribut ein JavaScript-Befehl notiert ist. Das ist halt kein besonders schöner Stil.
Aber für deine Lösung gilt genau dasselbe:
Mit onchange="oeffnen()" hast du ebenfalls einen JavaScript-Befehl im HTML-Attribut stehen. Wozu dann also der Umstand mit einer separaten Funktion?
Wirklich besser wäre es z.B. so:
<select id="farbauswahl" name="Farbe" size="1">
<option value="1">rot</option>
<option value="4">schwarz</option>
<option value="2">blau</option>
<option value="6">gruen</option>
<option value="3">rosa</option>
</select>
<script type="text/javascript">
[code lang=javascript]
document.getElementById("farbauswahl").onchange = function () {top.location.href = 'farben.php?farbe=' + this.value;}
</script>[/code]
Dieses Script sollte übrigens nicht *vor* dem select-tag stehen, weil document.getElementById() sonst ins Leere greifen würde, da das select-tag mit der id "farbauswahl" erst später existiert.
Gruß, Don P
Moin.
Warum denn einfach, wenn's auch umständlich geht, gelle.
Deine Lösung fällt ebenso in diese Kategorie. Formular benutzen, glücklich sein!
Christoph
Hallo,
Deine Lösung fällt ebenso in diese Kategorie. Formular benutzen, glücklich sein!
Ja doch:
Von der Wiege bis zur Bahre: Formulare, Formulare! ;-)
Gruß, Don P
Jo - die Antwort ist nur richtig, wenn er schon in farben.php ist, bzw. farben.php eine gesamte Seite zurückgeben soll.
Aber so ins Blaue antworten wollte ich eben nicht. Aber da er die Fragen beantwortet hat, kann man ja nun sehen, das deine Lösung eine Möglichkeit darstellt.
Nur würde ich nie davon ausgehen, dass es der einfachste Fall ist - besonders nicht wenn es hier gepostet wird.
Mag sein :)
aber nach dem die vermeintliche Lösung vergleichsweise einfach war... hab ichs einfach hingeschrieben.
Hallo,
Hat jemand eine Idee?
Quick and dirty, aber funktioniert:
<select onchange="location.href='farben.php?id='+this.options[this.options.selectedIndex].value;" name="Farbe" size="1">
<option value="1">rot</option>
<option value="4">schwarz</option>
<option value="2">blau</option>
<option value="6">gruen</option>
<option value="3">rosa</option>
</select>
Gruß, Don P
Sehe gerade, dass es noch einfacher geht:
<select onchange="location.href='farben.php?id='+this.value;" name="Farbe" size="1">
Ist aber immer noch quick and dirty. Eigentlich sollte man kein javascript in HTML-tags notieren, sondern das immer ganz brav trennen.
Gruß, Don P
Hi,
ich brauche einen JAVASCRIPT.
nein, du brauchst kein Javascript (im übrigen: DAS Script).
wenn man aus diesem Dropdown-menu eine Farbe auswählt, soll die Seite farben.php geöffnet werden und der dazugehörige Value als Variable mitgegeben werden.
Hat jemand eine Idee?
Ja: Mach noch einen Submit-Button daneben oder drunter, dann kannst du die Sache als ganz normales Formular absenden und bist von Javascript völlig unabhängig.
<form method="GET" action="farben.php">
<select onchange="???" name="Farbe" size="1">
<option value="1">rot</option>
<option value="4">schwarz</option>
<option value="2">blau</option>
<option value="6">gruen</option>
<option value="3">rosa</option>
</select>
<input type="submit" value="Go!">
</form>
Vielen Dank
Gern geschehen.
Schönes Wochenende,
Martin
Moin.
Deine Lösung lässt sich prima durch einen Schnipsel JavaScript erweitern:
<form method="GET" action="farben.php">
<select onchange="this.form.submit()" name="Farbe" size="1">
<option value="1">rot</option>
<option value="4">schwarz</option>
<option value="2">blau</option>
<option value="6">gruen</option>
<option value="3">rosa</option>
</select>
<noscript><input type="submit" value="Go!"></noscript>
</form>
Christoph