selectfeld abfragen
xpfreund
- javascript
0 EKKi0 Novi0 quotes
Beat- perl
Hallo,
also ich habe hier eine Auswahl, deren Ergebnis über den untenstehenden Button an document.letters.mode.value übergeben werden soll.
Jetzt weiß ich nicht, wie ich das nun übergeben kann?
hatte vorher ne Perl-Variable, die ich aber nicht über JScript ändern konnte.
Jetzt dachte ich nehm ich halt ne JScript-Variable, die bei onchange geändert und beim Ausführen mitgegeben wird. Das klappt aber auch nicht.
Um die Auswahl steht übrigens kein Formular und das Teil muss nur im Firefox bei mir laufen, daher sollte kein Formular nötig sein.
Habt ihr ne Ahnung, wie ich das lösen kann (ohne Formular)?
print "<select name=\"function\" size=\"1\" onchange=\"var function=this.function.options[this.function.selectedIndex].value\">\n";
print "<option value=\"delsel\">Löschen</option>\n";
print "<option value=\"res\">letzte Mail erneut versenden</option>\n";
print "<option value=\"cm\">Mailnummer ändern</option>\n";
print "</select>\n";
print " <input type=\"Button\" value=\"Ausführen\" onClick=\"document.letters.mode.value=function\" name=\"Button\">";
gruß aus Senftenberg am See
Mahlzeit xpfreund,
Du hast anscheinend ein rein Client-seitiges Problem. PHP-Code ist dabei absolut irrelevant (siehe Zitat 1353).
[code lang=perl]print "<select name="function" size="1" onchange="var function=this.function.options[this.function.selectedIndex].value">\n";
Wenn sich also die Auswahl ändert (und die Auswahlliste den Fokus verliert), wird eine Variable namens "function" mit dem aktuell ausgewählten Wert initialisiert. Da "function" ein <http://de.selfhtml.org/javascript/sprache/reserviert.htm@title=reserviertes Wort> in Javascript ist, solltest Du Dir vielleicht überlegen, ob Du die Variable nicht vielleicht anders benennen willst ...
print " <input type="Button" value="Ausführen" onClick="document.letters.mode.value=function" name="Button">";
Beim Klick auf diesen Button soll vermutlich der Inhalt der Variablen namens "function" (zur Problematik dieses Namens s.o.) in der Eigenschaft namens "value" des Unterobjekts namens "mode" des Unterobjekts namens "letters" des Dokument-Objekts abgelegt werden. Bist Du sicher, dass ein solches Objekt (mit der Eigenschaft) existiert? In Deinem gezeigten Code findet sich das nämlich nicht ...
MfG,
EKKi
Hallo,
Beim Klick auf diesen Button soll vermutlich der Inhalt der Variablen
namens "function" (zur Problematik dieses Namens s.o.) in der
Eigenschaft namens "value" des Unterobjekts namens "mode" des
Unterobjekts namens "letters" des Dokument-Objekts abgelegt werden. Bist >> Du sicher, dass ein solches Objekt (mit der Eigenschaft) existiert? In >> Deinem gezeigten Code findet sich das nämlich nicht ...
Gibts hundertpro, das ganze Skript hier zu zeigen, würde aber den Rahmen sprengen.
Alternativ so:
print "<select name=\"funktion\" size=\"1\" onchange=\"var auswahl=this.funktion.options[this.funktion.selectedIndex].value\">\n";
print "<option value=\"delsel\">Löschen</option>\n";
print "<option value=\"res\">letzte Mail erneut versenden</option>\n";
print "<option value=\"cm\">Mailnummer ändern</option>\n";
print "</select>\n";
print " <input type=\"Button\" value=\"Ausführen\" onClick=\"document.letters.mode.value=auswahl\" name=\"Button\">";
aber klappt trotzdem noch nicht.
gruß aus Senftenberg am See
Hallo,
habe jetzt mal ne form drumgelegt.
Ob der Button submit oder Button heißt, kommt aufs selbe raus.
Wenn ich bei alert nen String reintippe oder die Variable direkt vorm alert belege, läuft alles.
Wenn ich aber nur die Variable haben will, wird die Box nicht angezeigt.
Scheint nicht mal in der Variable anzukommen.
Ich weiß echt nich mehr weiter.
Was läuft hier nicht rund?
print "<form method=\"POST\" action=\"$scripturl\" name=form1>";
print "<select name=\"funktion\" size=\"1\" onchange=\"var auswahl=document.form1.funktion.options[document.form1.funktion.selectedIndex].value\">\n";
print "<option value=\"delsel\">Löschen</option>\n";
print "<option value=\"res\">letzte Mail erneut versenden</option>\n";
print "<option value=\"cm\">Mailnummer ändern</option>\n";
print "</select>\n";
print " <input type=\"Button\" value=\"Ausführen\" onClick=alert(auswahl) name=\"Button2\">";
print "</form>";
gruß aus Senftenberg am See
Hallo,
Tja, das mit der Variable wohl nicht funktioniert, bzw. keiner weiß wie, hab ich die document-Abfrage jetzt direkt in die alert getippt und da gehts, also werd ich versuchen, das so ins Script einzubauen.
gruß aus Senftenberg am See
Hallo,
habe endlich die Lösung.
Über Webdeveloper habe ich festgestellt, dass die Variable cWahl, die bei onchange erstellt und belegt wurde, beim Klick nicht zu sehen war. Daher habe ich die Initialisierung von cWahl in den Scriptbereich verlegt. Damit gehts und nun kann startfunc die entsprechenden Funktionen starten und es ist dank dem "this...", wie geplant, kein Formular nötig.
Vielen Dank an alle
<script language="javascript">
var cWahl;
function StartFunc(cFunc) {";
alert(cFunc);
}
</script>
<select name="funktion" size="1" onchange="cWahl=this.options[this.selectedIndex].value;">
<option value="delsel">Löschen</option>
<option value="res">letzte Mail erneut versenden</option>
<option value="cm">Mailnummer ändern</option>
</select>
<input style="font-family: Tahoma, Verdana; font-size: 8pt" type="Button" value="Ausführen" onClick="StartFunc(cWahl); " name="Button2">
gruß aus Senftenberg am See
Hallo,
Nur mal so ein Tipp: function
ist ein Schlüsselwort, was in deiner jetzigen Verwendung zu Problemen führen dürfte.
Ich verstehe nicht warum du keine Formulare verwenden willst, aber du könntest zum Beispiel mit Javascript zu einer Seite weiterleiten und dabei an die URL einen Querystring mit der ausgewählten Variable anhängen.
Viele Grüße Novi
Hallo
Du hast in Perl noch einiges zu entdecken
Ich schenke dir ein q() und ein qq()
Ansonsten bist du hier gebeten dein Javascript Problem ohne dein Perl Problem zu präsentieren.
mfg Beat
Hallo,
hier nochmal eine html-Version des ganzen.
<form method="POST" action="$scripturl" name=form1>
<select name="funktion" size="1" onchange="var auswahl=document.form1.funktion.options[document.form1.funktion.selectedIndex].value">
<option value="delsel">Löschen</option>
<option value="res">letzte Mail erneut versenden</option>
<option value="cm">Mailnummer ändern</option>
</select>
<input type="Button" value="Ausführen" onClick=alert(auswahl) name="Button2">
</form>
gruß aus Senftenberg am See
hier nochmal eine html-Version des ganzen.
<form method="POST" action="$scripturl" name=form1>
<select name="funktion" size="1" onchange="var auswahl=document.form1.funktion.options[document.form1.funktion.selectedIndex].value">
document.form1.funktion
ist in diesem Kontext nichts anderes als
this
also
onchange="var auswahl=this.options[this.selectedIndex].value"
<option value="delsel">Löschen</option>
<option value="res">letzte Mail erneut versenden</option>
<option value="cm">Mailnummer ändern</option>
</select>
<input type="Button" value="Ausführen" onClick=alert(auswahl) name="Button2">
Ich überlege noch, wie
onClick=alert(auswahl)
geparst wird
ich schenke dir ein paar """""""""""""
</form>
mfg Beat
--
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische
Hallo Beat,
hier nochmal eine html-Version des ganzen.
[...]
</form>
mfg Beat
wolltest du uns auch etwas mitteilen? Dann tu das doch bitte.
So long,
Martin
Hallo Beat,
hier nochmal eine html-Version des ganzen.
[...]
</form>
mfg Beatwolltest du uns auch etwas mitteilen? Dann tu das doch bitte.
Ja und zwar:
a) ich bin am essen
b) lerne, zwischen den Zeilen zu lesen.
mfg Beat
Hallo :)
a) ich bin am essen
b) lerne, zwischen den Zeilen zu lesen.
Mit vollem Mund schreibt man nicht.
Vor allem nicht dann, wenn man mit den Fingern isst.
mfg
cygnus