Werteübergabe bei Formularen
prin
- javascript
Hallo,
folgendes Problem tut sich mir auf: ich habe in meinem Frame "mitte" ein Formular mit diversen Buttons und feldern erstellt (in der datei kontakt.html). Die eingebenen Daten sollen im gleichen Frame in der datei ausgabe.html aufgelistet werden. Über javascript (media/schicken.js) versuche ich nun die Werteübergabe zu "steuern" ... habe alle 3 dateien mal beigefügt...was muss hier geändert werden? habe es schon mehrere sachen versucht, mal bekam ich die fehlermeldung "NaN", nun erfolgt gar keine ausgabe!
Vielen dank
kontakt.hmtl -->
<head>
<title>Mein Ausbildungsunternehmen</title>
<link rel="stylesheet" type="text/css" href="css/stylesheet.css" />
<script type=text/javascript src="media/schicken.js">
function FormularAusgabe(){
parent.vorname = parent.frames[1].document.forms.formular.elements.vorname.value;
parent.nachname = parent.mitte.document.forms.formular.elements.nachname.value;
parent.email = document.forms.formular.elements.email.value;
parent.art = parent.frames[1].document.forms.formular.elements.art.value;
parent.betreff = parent.frames[1].document.forms.formular.elements.betreff.value;
parent.txt = parent.mitte.document.forms.formular.elements.txt.value;
location.href = ausgabe.html;
return false;
}
</script>
</head>
<body>
<div class="inhalt">
<h1> Kontakt </h1>
<form name="formular" "action="ausgabe.html" onsubmit= "return FormularAusgabe();">
Sie wollen mit uns Kontakt aufnehmen?
Füllen Sie einfach folgende Felder aus: <br> <br>
Vorname: <br> <input name="vorname" type=text value="Max" id="vorname"><br>
Nachname: <br> <input name="nachname" type=text value="Mustermann" id="nachname"><br>
E-mail: <br> <input name="email" type=text value="adresse@provider.de" id="email"><br>
Warum möchten Sie mit uns Kontakt aufnehmen?<br>
<input name="art" type="radio" value="Anfrage" > Anfrage<br>
<input name="art" type="radio" value="Information"> Information<br>
<input name="art" type="radio" value="Beschwerde"> Beschwerde<br>
<input name="art" type="radio" value="Lob"> Lob<br>
<input name="art" type="radio" value="Sonstiges"> Sonstiges<br>
Betreff: <br> <input name="betreff" type=text id="betreff"><br>
Text: <br> <input name="txt" type=text id="txt"><br><br><br>
<input type=submit value="Senden">
</form>
</div>
</body>
ausgabe.hmtl -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Wichtiges zur xxxx"/>
<meta name="author" content="xxxx" />
<meta name="keywords" content="xxxx"/>
<meta name="robots" content="index, follow"/>
<link rel="stylesheet" type="text/css" href="css/stylesheet.css" />
<head>
<title>Mein Ausbildungsunternehmen</title>
</head>
<body>
<h1> Ausgabe </h1>
<p> Ihre Angaben:
<script type=text/javascript src="media/schicken.js">
parent.mitte.document.write(parent.vorname + parent.nachname + parent.email + parent.art + parent.betreff + parent.txt);
</script>
</p>
</body>
</html>
javascript -->
function checkFormular() {
if (parent.frames[1].document.formular.vorname.value == "") {
alert("Bitte Ihren Vornamen eingeben!");
document.Formular.vorname.focus();
return false;
}
if (document.Formular.nachname.value == "") {
alert("Bitte Ihren Nachnamen eingeben!");
document.Formular.nachname.focus();
return false;
}
if (document.Formular.email.value == "") {
alert("Bitte Ihre E-Mail-Adresse eingeben!");
document.Formular.email.focus();
return false;
}
if (document.Formular.mail.value.indexOf("@") == -1) {
alert("Keine korrekte E-Mail-Adresse!");
document.Formular.mail.focus();
return false;
}
if (document.Formular.betreff.value == "") {
alert("Bitte Ihren Betreffzeile eingeben!");
document.Formular.betreff.focus();
return false;
}
if (document.Formular.txt.value == "") {
alert("Bitte Ihren Text eingeben!");
document.Formular.txt.focus();
return false;
}
FormularAusgabe();
}
function uebergabe() {
parent.mitte.document.formular.vorname.value = vorname;
parent.frames[1].document.formular.nachname.value = nachname;
parent.frames[1].document.formular.email.value = email;
parent.frames[1].document.formular.art.value = art;
parent.frames[1].document.formular.betreff.value.= betreff;
parent.mitte.document.formular.txt.value = txt;
}
function FormularAusgabe(){
var fields = window.name.split("|+|");
document.write("<b>Ihr Vorname: </b>" + fields[0] + "<br />");
document.write("<b>Ihr Nachname: </b>" + fields[1] + "<br />");
document.write("<b>Ihre E-Mail Adresse: </b>" + fields[2] + "<br />");
document.write("<b>Die Art ihres Schreibens: </b>" + fields[3] + "<br />");
document.write("<b>Der Betreff: </b>" + fields[4] + "<br />");
document.write("<b>Ihr Text:</b><br />" + fields[5]);
}
folgendes Problem tut sich mir auf: ich habe in meinem Frame "mitte" ein Formular mit diversen Buttons und feldern erstellt (in der datei kontakt.html). Die eingebenen Daten sollen im gleichen Frame in der datei ausgabe.html aufgelistet werden. Über javascript (media/schicken.js) versuche ich nun die Werteübergabe zu "steuern" ... habe alle 3 dateien mal beigefügt...was muss hier geändert werden? habe es schon mehrere sachen versucht, mal bekam ich die fehlermeldung "NaN", nun erfolgt gar keine ausgabe!
und was steht in der Fehlerkonsole?
Struppi.
und was steht in der Fehlerkonsole?
Struppi.
hab das mit ultraedit gemacht...kann ich da iwo die fehlerkonsole sehn?
hab das mit ultraedit gemacht...kann ich da iwo die fehlerkonsole sehn?
Nein, im Browser natürlich.
Struppi.
»» hab das mit ultraedit gemacht...kann ich da iwo die fehlerkonsole sehn?
Nein, im Browser natürlich.
Struppi.
aso sorry ;)
folgende 3 meldungen
Fehler: syntax error
Quelldatei: file:///c:/Dokumente%20und%20Einstellungen/*******/Eigene%20Dateien/webseite/media/schicken.js
Zeile: 45, Spalte: 50
Quelltext:
parent.frames[1].document.formular.betreff.value.= betreff;
Fehler: FormularAusgabe is not defined
Quelldatei: file:///c:/Dokumente%20und%20Einstellungen/*******/Eigene%20Dateien/webseite/kontakt.html
Zeile: 1
Fehler: syntax error
Quelldatei: file:///c:/Dokumente%20und%20Einstellungen/*******/Eigene%20Dateien/webseite/media/schicken.js
Zeile: 45, Spalte: 50
Quelltext:
parent.frames[1].document.formular.betreff.value.= betreff;
Mahlzeit prin,
Fehler: syntax error
Quelldatei: file:///c:/Dokumente%20und%20Einstellungen/*******/Eigene%20Dateien/webseite/media/schicken.js
Zeile: 45, Spalte: 50
Quelltext:
parent.frames[1].document.formular.betreff.value.= betreff;
Verständlich. Was genau soll dieser Code bezwecken?
Fehler: FormularAusgabe is not defined
Quelldatei: file:///c:/Dokumente%20und%20Einstellungen/*******/Eigene%20Dateien/webseite/kontakt.html
Zeile: 1
Recht offensichtlich.
Fehler: syntax error
Quelldatei: file:///c:/Dokumente%20und%20Einstellungen/*******/Eigene%20Dateien/webseite/media/schicken.js
Zeile: 45, Spalte: 50
Quelltext:
parent.frames[1].document.formular.betreff.value.= betreff;
s.o.
Was genau ist Dein Problem?
MfG,
EKKi
Mahlzeit prin,
was muss hier geändert werden?
Einiges. Genauer gesagt so viel, dass ich nur empfehlen kann, das ganze Frames-Geraffel wegzuwerfen (wie bei Frames eigentlich in 99% aller Fälle) und es stattdessen vernünftig zu machen.
Was genau soll diese Konstruktion eigentlich bezwecken? Soll das irgendwann mal irgendwo produktiv eingesetzt werden? Wenn ja, zu welchem Zweck? Irgendwie ist mir der Sinn der Funktionsweise noch nicht so ganz klar.
Oder dient das nur zum Lernen und Testen?
Wenn letzteres der Fall ist, dann solltest Du Dich mit der Fehlerkonsole Deines Browsers vertraut machen und anhand einer HTML- und Javascript-Dokumentation (z.B. die von SELFHTML) auf Fehlersuche und -behebung begeben:
<script type=text/javascript src="media/schicken.js">
function FormularAusgabe(){
<http://de.selfhtml.org/javascript/intro.htm#javascriptdateien@title=Grundsätzlich bezweifle ich, dass es gültig ist und funktioniert, innerhalb eines <script>-Containers, der eine "src"-Eigenschaft besitzt, noch weiteren Javascript-Code anzugeben.>
parent.vorname = parent.frames[1].document.forms.formular.elements.vorname.value;
Dann solltest Du Dich genauer informieren, wie Du innerhalb eines Framesets die einzelnen Frames, deren Dokument sowie die darin befinden DOM-Objekts ansprichen kannst.
parent.nachname = parent.mitte.document.forms.formular.elements.nachname.value;
Vielleicht solltest Du Dich auch mal mit dem <http://de.selfhtml.org/javascript/objekte/elements.htm@title=Schema 4> beschäftigen.
location.href = ausgabe.html;
Wo genau hast Du das Objekt "ausgabe" definiert und was steht in seiner Eigenschaft "html"? Oder hast Du nur vergessen, wie man in Javascript einen http://de.selfhtml.org/javascript/objekte/string.htm@title=String notiert?
<script type=text/javascript src="media/schicken.js">
parent.mitte.document.write(parent.vorname + parent.nachname + parent.email + parent.art + parent.betreff + parent.txt);
s.o.
if (parent.frames[1].document.formular.vorname.value == "") {
alert("Bitte Ihren Vornamen eingeben!");
document.Formular.vorname.focus();
Javascript unterscheidet zwischen Groß- und Kleinschreibung bei Objekt- bzw. Variablennamen. Du solltest das berücksichtigen.
MfG,
EKKi