staticText aus Formular mit javaScript auslesen

P_H_I_L

Erfahrenes Mitglied
ImageHyperlink automatisch klicken

Hallo,
ich verwende Java Studio Creator. Beim weiterleiten von einer auf die andere Seite soll automatisch ein Klick durchgeführt werden. Das heißt der ImageHyperlink der sichauf der Seite befindet soll automatisch ausgeführt werden.
habe mir gedacht das geht im Prerender() der Seite:

getBody1().setOnLoad("report.submit()");

so kenne mich nicht so aus in javaScript. Habe gelesen mit submit() führt man den automatischen klick aus. doch wie spreche ich meinen imageHyperlink an? Die ID des Hyperlinks heißt "report".
die Aktion heißt report_action()

doch das Beispiel oben geht nicht, was mache ich falsch?
 
Mit submit() wird ein Formular gesendet.

Falls es wichtig ist, dass der Button wirklich angeklickt wird, weil der Klick bspw. für einen zu übermittelnden Wert sorgt, verwende die Methode click()...angewendet auf das zu klickende Element.
 
ja super danke! ich verwende von nun an Click() doch ich weiß immer noch nicht, wie ich meinen Button anspreche, seine ID heißt "report" aber so einfach gehts nicht, habs schon ausprobiert! so wird der button nicht geklickt!
weiß jemand wie man das macht?

muss ich die ebene angeben wo er liegt?
also:
form1:layoutPanel1:report ?
 
Von JS aus gibts da mehrere Wege, bspw.:
Code:
document.nameDesFormulars.nameDesButtons.click()
oder
Code:
document.getElementById('IDdesButtons').click()
 
hmm super danke für die schnelle antwort aber es will nicht gehen:
habe jetzt einen ähnlichen weg eingeschlagen weil ich hierzu ein Beispiel im Internet gefunden habe.

hier ein Auszug aus meiner jsp
</ui:head>
<script><![CDATA[
function NaviFenster () {
document.getElementById('form1:layoutPanel1:report:report').click();
}]]></script>
<ui:body binding="#{partner$generateReport.body1}" id="body1" style="-rave-layout: grid" onLoad="NaviFenster()">

doch anscheinend bereitet diese Zeile noch Probleme:
document.getElementById('form1:layoutPanel1:report').click();

ich glaube einfach er findet den Button nicht, weil sich nichts tut wenn ich die Seite lade!!
habe das ganze ma mit einem normalen openWindow befehl versucht und beim Laden öffnet sich sofort das Fenster! also muss doch der automatische Hyperlink auch gehen oder?

anbei mal ein kleiner Screenshot, auf welcher ebene sich die ID des Buttons befindet! Navigiere ich hier schon falsch? erkennst du einen Fehler? Hoffe du hilfst mir nochmal kurz..Danke
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    17,3 KB · Aufrufe: 25
Wenn du ein Element über seine ID ansprichst, ist es egal, wo es sich in der Dokumentstruktur befindet, da eine ID eindeutig ist.

Wenn der Button wirklich de ID "report" hat(beachte dabei ...ID!=name), dann kannst du ihn so ansprechen:
Code:
document.getElementById('report').click()
 
jetzt funktionierts, mir fällt ein Stein vom herzen! Thx :)

doch kann ich in diesem JavaScript block auch auf Variablen mittels If-Statement abfragen?
<script><![CDATA[
function NaviFenster () {
document.getElementById('form1:report1').click();
document.getElementById('form1:report2').click();
document.getElementById('form1:report3').click();
}]]></script>

Es sollte nur report2 geöffnet werden, wenn eine bestimmte Variable den Wert true (string) hat.
Es handelt sich hierbei um eine globale Variable getSBVars().tmpReport2.equals("true");

kann man sowas in javaScript abfragen oder geht das gar nicht?
 
Hi,

Du müsstest halt dafür sorgen, dass in der Javascript-Funktion eine Variable mit dem Wert Deiner Java-Variable definiert wird, also einfach mit in den Response schreiben, so dass beim Client etwa folgendes ankommt:

Javascript:
function NaviFenster () {
   var report2 = true;
   document.getElementById('form1:report1').click();
   document.getElementById('form1:report2').click();
   document.getElementById('form1:report3').click();
}

Und dann kannst Du Deine Klicks ja in entsprechende if-Abfragen packen.

LG
 
Zuletzt bearbeitet von einem Moderator:
ja das mit dem IF-Statement ist mir schon klar im JavaScript! doch weiß nur nocht wie ich die Variable von Java ins java-Script bekomme? was ist response? bin ein absoluter rookie!
du mich als anfänger eben schwer alles zu verstehen :)
 
habe nun nachvollziehen können was du meinst.
habe ein static TextFeld auf meiner seite eingebunden, das mti der Globalen Variable verbunden ist. dieses staticText Feld trägt nun den gleichen code wie die globale Variable

kannst du mir kurz erklären wie man nun dieses Textfeld abprüfen kann? gibts equals oder so :confused:
kann ich da so schreiben:

if (document.getElementById('form1:staticText1).equals("true") ;){
....
}
oder wie schreibe ich das in java? hmm tut mir echt leid, nerv dich bestimmt schon voll
 

Neue Beiträge

Zurück