JS Variable in Dialog einbinden?

7bkahnt

Mitglied
Hallo Leute,

suche seit 2 Stunden nach einer bestimmt leichten Lösung.
Ich habe in einer JS-Funktion eine Variable, die ich gern in einem Dialog einbauen möchte. Den Dialog erstelle ich mit dem jquery plugin für Struts2:
HTML:
<sj:dialog id="JahrKontrolle" buttons="{'JA':function() { NeuDS_aktuellesJahr();closeDialog(); },'NEIN':function() { NeuDS_postbuchjahr();closeDialog(); } }" 
modal="true" Soll der Datensatz im Jahr ... angelegt werden?  </sj:dialog>

Anstelle von ... soll natürlich das jeweilige Jahr stehen. Das hab ich schon in einer JS-Variable. Nur weiß ich leider nicht wie ich die dahin bekomme:)

Habt ihr da evtl. eine Lösung?

Edit:
Es ist ja auch möglich ein Textfeld in ein Dialog einzubauen.
z.B.
HTML:
<sj:dialog id="JahrKontrolle" buttons="{'JA':function() { NeuDS_aktuellesJahr();closeDialog(); },'NEIN':function() { NeuDS_postbuchjahr();closeDialog(); } }" 
modal="true" value="Hallo">Soll der Datensatz <input type="text" id="aktjahr" name="aktjahr"/> im Jahr angelegt werden?</sj:dialog>

Da wäre dann die Frage, wie ich die JS-Variable in das Textfeld als Value reinbekomme^^.
Hatte es mit window.document.getElementById('aktjahr').value=meineVariable; in der JS-Funktion probiert. Funktioniert aber nicht. Das Textfeld bleibt leer...

Grüsse
 
Zuletzt bearbeitet:
Hi,

versuch mal das Textfeld im onload-Event zu füllen.
Code:
window.onload = function(){
  document.getElementById('aktjahr').value=meineVariable;
}
Ciao
Quaese
 
Nee bei jquery bzw. Ajax passiert nichts bei einem onload-Event. Da die Seite ja an sich nicht geladen wird... Und wie gesagt, ich mache ja genau wie du beschrieben hast document.get........ in einer JS-Funktion, die vorher aufgerufen wird. Also müsste er eigentlich das Textfeld "setten". Macht er aber nicht :(
 
Hi,

wenn die Seite noch nicht geladen ist, hast du mit JavaScript auch keinen Zugriff darauf - JavaScript läuft nunmal clientseitig.

Ciao
Quaese
 
Ich habe eine jsp in der alle Textfelder usw. drin stehen. Am Ende habe ich den sj:dialog in dem eine JS-Variable reingeschrieben werden soll. Insofern ist der Dialog schon mit in einer jsp. Nur wird er eben erst angezeigt, wenn der Nutzer etwas klickt.
Also könnte ich auch onload nehmen stimmt schon. Aber warum sollte ich?^^
Ich setze doch den Wert des Textfeldes explizit in einer JS-Funktion, die ich vorher aufrufe. Und diese wird auch aufgerufen! Also brauch ich ja keine onload Funktion, da ich mit diesem auch nur auf die Funktion verlinken würde...
 
Hi,

wie sieht denn das ausgelieferte HTML-Dokument aus (geparster Quellcode)?

Warum rufst du die Anweisung zum Füllen des Textfeldes nicht in der Routine auf, die abgearbeitet wird, wenn der User "etwas klickt" um den Dialog anzuzeigen?

Ciao
Quaese
 
Jetzt funktioniert es! Ich hatte ausversehen zwei mal die gleichen Textfelder mit denselben Id´s verwendet. Oh man.....
Danke dir trotzdem für deine Hilfe ;)
 
Zurück