Javascript
Ingvild
- javascript
0 Vimes0 Marc Reichelt
Hallo,
kann man mit Javascript oder Perl folgendes machen:
Eine if-Bedingung, die wenn eine Formularfrage ausgefüllt ("checked") ist, weiterschaltet auf ein zweites Formular (survey2.htm), das weitere Fragen enthält?
Mein Versuch, der nicht funktioniert:
<script language="JavaScript">
<!--
if (form input type="radio" name="FrageNutzung_1" value="ja (3) 1" checked);
function FormFenster()
{
FormularNeu = window.open ("survey2.htm", "FormularNeu", "height=400, width=680");
FormularNeu.focus ();
}
//-->
</script>
</head>
<body onLoad="FormFenster()" bgcolor="#CEE0EA">
Hallo,
kann man mit Javascript oder Perl folgendes machen:
Eine if-Bedingung, die wenn eine Formularfrage ausgefüllt ("checked") ist, weiterschaltet auf ein zweites Formular (survey2.htm), das weitere Fragen enthält?
ja das geht.
Mein Versuch, der nicht funktioniert:
Leider fehlen dir scheinbar die grundlegenden Ideen und Strukturen von Javascript. ok dann step-by-step
<script language="JavaScript">
wird zu
<script language="JavaScript" type="text/javascript">
type mus html-konform gesetzt sein http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT
(die meisten Browser können das aber auch ohne)
<!--
if (form input type="radio" name="FrageNutzung_1" value="ja (3) 1" checked);
Die Frage ist, wie greif ich auf ein Objekt zu?
http://selfhtml.teamone.de/javascript/objekte/forms.htm
also hier z.b.
document.Name_deines_Form.FrageNutzung_1.checked
Ist ein Radiobutton an ?http://selfhtml.teamone.de/javascript/objekte/elements.htm#checked
function FormFenster()
{
FormularNeu = window.open ("survey2.htm", "FormularNeu", "height=400, width=680");
FormularNeu.focus ();
}
dies würde ein neues Fenster öffnen, falls die Funktion jemals aufgerufen wird
falls du im "gleichen" Fenster bleiben willst ist
location.href
die besser Wahl http://selfhtml.teamone.de/javascript/objekte/location.htm#href
//-->
</script>
</head>
<body onLoad="FormFenster()" bgcolor="#CEE0EA">
Das heisst, nach dem Laden des Dokuments wird sofort ein Fenster aufgepoppt.
So wie ich es verstanden hab, möchtest du, falls eine Checkbox ange"ixt" wird, ein zweites Fenster öffnen. Dann ist der Eventhandler des Radiobuttons der richtige Ort:
<input type="radio" name="FrageNutzung_1" value="ja (3) 1" onClick="tuWas();">
in der zu schreibenden Funktion tuWas sollte dann wie oben erwähnt der Status des Radiobuttons abgefragt werden und dann entsprechend verzweigt werden.
Viel Erfolg beim Nachkochen
Hallo Vimes,
Danke für die Anleitung! Ich versuch's mal!
Stimmt, ich bin kein JavaScript-Fuzzi, sonst hätte ich ja auch nicht hier gefragt ;-)
Grüsse
Ingvild
Hallo Vimes,
ja, richtig, wenn die Radio-Buttons in survey.htm "checked" sind, sollte sich das Formular survey2.htm mit weiteren speziellen Fragen öffnen.
So ganz köchelt das allerdings nocht nicht trotz der guten Linkverweise :-(
<script language="JavaScript" type="text/javascript">
<!--
if (document.survey.FrageNutzung_1.checked == true)
window.location.href="survey2.htm"
//-->
</script>
im HTML-Coding:
form name=survey
....
<input type="radio" name="FrageNutzung_3" value="ja (3)3" onClick="openWindow("survey2.htm");">
Hallo Ingvild
So ganz köchelt das allerdings nocht nicht trotz der guten Linkverweise :-(
dabei bist du so nah dran:
<script language="JavaScript" type="text/javascript">
<!--
function openWindow(destination) {
if (document.survey.FrageNutzung_1.checked == true)
window.location.href=destination;
}
//-->
</script>im HTML-Coding:
<form name="survey">
<input type="radio" name="FrageNutzung_1" value="ja (3)3"
^ 1 oder 3? muss das gleiche wie im Script sein.
onClick="openWindow("survey2.htm");">
Schönen Gruß von nem JavaScript-Fuzzi ;-)
Hallo Ingvild
latürnich
onClick="openWindow('survey2.htm');">
Hallo lieber Javascriptfuzzi,
Kompliment, es tut soweit, dass es funktioniert, aaaber ich bekomme
noch Scripterrors im Editor: "Nicht abgeschlossene Zeichenfolgekonstante" und danach "Objekt erwartet".
Vielleicht hast Du noch einen schlauen Rat ...
Ingvild
Hallo lieber Javascriptfuzzi-Anwärter,
Kompliment, es tut soweit, dass es funktioniert, aaaber ich bekomme
noch Scripterrors im Editor: "Nicht abgeschlossene Zeichenfolgekonstante" und danach "Objekt erwartet".
Dein Editor bringt diese Fehlermeldung? - Dann irrt er höchstwahrscheinlich. Solange der Browser nicht schimpft (beim IE würde unten links unten ein gelbes Warnschild sein) wird der Code in Ordnung sein.
Es kann sein das der Editor über "onClick=openWine('blah')" stolpert, da für ihn wohl ' und " Marker für Text sind.
... ojeh, eher Oberanwärter ;-)
nee, der Editor ist unschuldig, es ist ein gelbes Warnschild beim IE zu sehen, obwohl es funktioniert, vermute auch, dass irgendwo ein ' fehlt, sehe aber im Moment noch nicht, wo.
Hast Du einen JavaScript-Kurs gemacht oder Dir alles über SelfHTML beigebracht?
... ojeh, eher Oberanwärter ;-)
was nicht ist ...
nee, der Editor ist unschuldig, es ist ein gelbes Warnschild beim IE zu sehen, obwohl es funktioniert, vermute auch, dass irgendwo ein ' fehlt, sehe aber im Moment noch nicht, wo.
dann klick einmal drauf und merk dir die Fehlermeldung( inkl. Zeilennummer).
Fehlermeldung zusammen mit dem Code hier posten und man kann sehen, was da so falsch läuft.
Hast Du einen JavaScript-Kurs gemacht oder Dir alles über SelfHTML beigebracht?
Gibt es dafür Kurse ??
versuchs mal hiermit:
<html>
<head><title></title></head>
<script language="JavaScript">
<!--
function onS()
{
if (document.f.FrageNutzung1.checked==true)
{
FormFenster();
}
}
function FormFenster()
{
var win1 = window.open("survey2.htm", "FormularNeu", "height=400, width=680");
win1.focus (); // <-- funktioniert das wirklich???
}
//-->
</script>
</head>
<body bgcolor="#CEE0EA">
<form name="f" onSubmit="onS()">
<input name="FrageNutzung1" type="radio" value="ja (3) 1">
</form>
</body></html>
Marc Reichelt || www.marcreichelt.de