weitläufiges Problem
Ben
- javascript
Mahlzeit,
hab da ein Problem, das mir anscheinend noch den letzten Nerv raubt. Ich bin dabei, ein Formular zu erstellen.
Dieses Formular enthält ein input, in welches die anzahl von Zimmern (das ganze ist für eine Ferienobjekt-Börse) eingetragen wird. Durch eine for-Schleife werden dann dieser Zahl entsprechend viele einzelne Tabellen ausgegeben, in denen man einen Namen für die einzelnen Zimmer angeben kann. Dies soll jedoch in einem PopUp geschehen. So weit, so gut. Die Nummer des Zimmers übergebe ich in der For-Schleife durch die URL mit. Diese wird dann in dem PopUp-Fenster ausgelesen, in die Überschrift eingetragen und an den Namen des Input-Feldes gehängt.
Nun habe ich das Problem, dass ich über das nächste Skript, das die Daten zurück übergeben soll, den Inhalt des Input-Feldes nicht mehr auslesen kann. In meinem Ansatz habe ich versucht, die variable url, welche die zahl enthält in ein verstecktes input-feld zu schreiben, um sie in der nächsten funktion wieder auslesen zu können (document.hinzufuegen.id.). Wenn ich diese jedoch auslesen will, gibt er sie als "undefined" zurück. Darum schaffe ich es wahrscheinlich nicht, den eingegebenen Zimmernamen in den opener zu übernehmen.
Ich hoffe, das mein Problem einigermaßen verständlich ist und mir jemand etwas auf die Sprünge helfen kann.
So sehen die Funktionen aus:
<script language="JavaScript">
<!--
function neu() {
var url = window.location.search;
url = url.substring(1,url.length);
var url = url.replace(/id=/," ");
document.hinzufuegen.id.value = url;
document.all.bearbeitung.innerHTML = "Zimmerbearbeitung "+url;
document.all.zimmername.innerHTML = "Zimmername: <input type="text" name="name"+url+"">";
}
function uebernahme() {
var url = document.hinzufuegen.id.value;
opener.document.eingabe.flaeche.value = document.hinzufuegen.name[url].value;
}
//-->
</script>
Vielen Dank im Voraus für Eure Bemühungen. :)
Schöne Grüße,
Ben
Hallo.
Das klingt etwas kompleziert, ist es aber nach einigem Lesen nicht ...
document.hinzufuegen.id.value
Was bedeuted das id?? Ist das der Name des inputs??
Also das ganze sollte so ausschauen:
document.formularname.inputname.value
Ein Feld darf nicht id heissen, weil id eine vordefinierte Variable ist ...
Ich hoffe, dass ich dir einigermaßen helfen konnte,
MM
Hi,
document.hinzufuegen.id.value
Was bedeuted das id?? Ist das der Name des inputs??
Also das ganze sollte so ausschauen:
document.formularname.inputname.value
Ein Feld darf nicht id heissen, weil id eine vordefinierte Variable ist ...
Oh man, da hätt ich ja auch mal drauf kommen können. Jetzt ist die Variable auch im zweiten Script verfügbar. - DANKE! :)
Jetzt bleibt nur noch n kleines Problemchen, auf dessen Lösung ich anscheinend ebenfalls nicht komme.. Bin wohl etwas JS-Blind heute..
<script language="JavaScript">
<!--
function neu() {
var url = window.location.search;
url = url.substring(1,url.length);
var url = url.replace(/id=/," ");
document.hinzufuegen.zahl.value = url;
document.all.bearbeitung.innerHTML = "Zimmerbearbeitung "+url;
document.all.zimmername.innerHTML = "Zimmername: <input type="text" name="name"+url+"">";
}
function uebernahme() {
var url = document.hinzufuegen.zahl.value;
opener.document.eingabe.flaeche.value = document.hinzufuegen.name[zahl].value;
}
//-->
</script>
So schaut das jetzt aus. Bei der Funktion uebernahme() soll ja nun der Inhalt des mit neu() erstellten Formularfeldes ausgelesen werden. Der Name dieses Inputs wird ja dynamisch erstellt. Wie lese ich diesen nun aus? mit document.hinzufuegen.name[zahl].value funktioniert es leider nicht. :(
Wäre schön, wenn mir nochmal jemand helfen könnte.
Dankeschön! :)
Schöne Grü+ße,
Ben
Hallo Ben
Wie lese ich diesen nun aus? mit document.hinzufuegen.name[zahl].value funktioniert es leider nicht. :(
Versuch's mal mit document.hinzufügen.elements["name" + zahl].value
Grüße
Andreas
Hallo Ben
Sorry, vertippt:
document.hinzufuegen.elements["name" + zahl].value
^^
Grüße
Andreas
Hallo Ben
Sorry, vertippt:
document.hinzufuegen.elements["name" + zahl].value
^^
Grüße
Andreas
Hi Andreas,
war genau, was ich brauchte. Dankeschön :)
Viele Grüße,
Ben
Also das ganze wird schon etwas unübersichtlich mit den ganzen " und " ... warum verwendest du nicht ' ? Naja ...
Also ... ähh ... irgendwie ...
Also in der Variable url wird dann der eingegebene Zimmername gespeichert, oda??
Und in der Variable ZAHL die Zimmernummer?!?
Warum ersetzt du dann nicht einfach in dem folgendem Block URL durch ZAHL ?? Dann könntest du viel einfacher drauf zugreiffen.:
document.all.zimmername.innerHTML = "Zimmername: <input
type="text" name="name"+url+"">";
MM
Hi,
document.hinzufuegen.id.value
Was bedeuted das id?? Ist das der Name des inputs??
Also das ganze sollte so ausschauen:
document.formularname.inputname.value
Ein Feld darf nicht id heissen, weil id eine vordefinierte Variable ist ...
Oh man, da hätt ich ja auch mal drauf kommen können. Jetzt ist die Variable auch im zweiten Script verfügbar. - DANKE! :)
Jetzt bleibt nur noch n kleines Problemchen, auf dessen Lösung ich anscheinend ebenfalls nicht komme.. Bin wohl etwas JS-Blind heute..
<script language="JavaScript">
<!--
function neu() {
var url = window.location.search;
url = url.substring(1,url.length);
var url = url.replace(/id=/," ");
document.hinzufuegen.zahl.value = url;
document.all.bearbeitung.innerHTML = "Zimmerbearbeitung "+url;
document.all.zimmername.innerHTML = "Zimmername: <input type="text" name="name"+url+"">";
}
function uebernahme() {
var url = document.hinzufuegen.zahl.value;
opener.document.eingabe.flaeche.value = document.hinzufuegen.name[zahl].value;
}
//-->
</script>
So schaut das jetzt aus. Bei der Funktion uebernahme() soll ja nun der Inhalt des mit neu() erstellten Formularfeldes ausgelesen werden. Der Name dieses Inputs wird ja dynamisch erstellt. Wie lese ich diesen nun aus? mit document.hinzufuegen.name[zahl].value funktioniert es leider nicht. :(
Wäre schön, wenn mir nochmal jemand helfen könnte.
Dankeschön! :)
Schöne Grü+ße,
Ben
opener.document.forms['name'].feld.value = document.forms['name2'].feld2.value;
etc.
oder
http://forum.de.selfhtml.org/archiv/2002/7/16265/#m91407
gucken
jedenfalls hats irgendwie damit was zu tun,aber sag mal könnte man nicht einen history.back() befehl benutzen dann bleiben die angaben im formular stehen ansonsten sind sie leer wenn sie nochmals aufgerufen werden.
gruss alain