|
|
Möglichkeit in JSP wie in HTML ein onChange ?
Niesfisch, 18.09.2001 16:56:20
hm,
hallo bin neu hier. weiss jemand, wie ich in JSP ein onchage hinbekommen. ich habe eine HTML auswahlliste und wenn der wert geändert wird, soll er die page reloaden und parameter mitgeben. z.b. mit jsp:forward param.....
weiss jemamd ob man mit JSP die HTML Tags überwachen kann. Ich hoffe ihr wisst was ich meine. Vieln Dank
ciao Marcel
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: Möglichkeit in JSP wie in HTML ein onChange ?
Marc, 18.09.2001 17:13:17
Da die Auswahl eines Elements aus z.B. einem Dropdown auf der Clientseite geschieht, kann man hier mit JSP natürlich nichts machen - das geht nur über Javascript (mit onchange).
Forward und sendRedirect geschehen immer serverseitig.
Noch ein kleiner Hinweis:
Man sollte aber immer Auge behalten, dass man Javascript im Browser deaktiveren kann, und sollte bei so einem Drowdown auch immer mit einen Absende-Button vorsehen.
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
?
Niesfisch, 18.09.2001 17:23:30
Tja, dann muss ich den User eben mit einem Update Button belästigen. Trotzdem danke.
ciao Marcel
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: ?
Geronimo, 19.09.2001 17:35:36
Hallo Niesfisch,
nur um das klar zu stellen: Wenn du mit jsps arbeitest, wird ein reiner HTML-Content zum Browser gesandt. Daher kannst Du alles, was du (sonst) im HTML gemacht hast, genauso in JSPs realsieren. JavaScript zu verwenden ist natürlich auch möglich.
Nehmen wir mal an, Du hättest eine Select-Box auf einer Auswahlseite, die "OnChange" auf eine "select.jsp" verzweigen soll. Die select.jsp wertet einen Parameter "action" aus. Die Parameter kannst du einfach (wie bei CGI-Queries) an die URL hängen, bei mehreren Parametern durh "&" verbunden. Das Beispiel könntest Du mit folgendem Codeausschnitt verwirklichen:
<!----schnippel --->
<SCRIPT LANGUAGE="JavaScript">
<!-- Start Hiding the Script
function jumpTo(URL_List){
var URL = URL_List.options[URL_List.selectedIndex].value;
window.location.href = URL;
}
// Stop Hiding script --->
</SCRIPT>
<P>
Was wollen Sie tun?
</P>
<FORM>
<SELECT NAME="site" onChange="jumpTo(this);">
<OPTION>-- bitte wählen --
<OPTION VALUE="select.jsp?action=play">Spielen
<OPTION VALUE="select.jsp?action=work">Arbeiten
<OPTION VALUE="select.jsp?action=relax">Ausruhen
</SELECT>
</FORM>
<!----schnappel --->
Die Entscheidung JavaScript zu verwenden ist dabei grundsätzlich die gleiche, wie bei reinem HTML-Code. In beiden Fällen kann der Benutzer beim Browser JavaScript ausschalten. Dann funktioniert es eben nicht mehr. Daher ist es in jedem Fall besser, der Seite noch einen Submit-Button zu spendieren, der auf eine weitere JSP (oder ein Servlet) verweist, die dann auf die im Parameter "site" übergebene URL forwardet. In dem Fall hättest Du sowohl für den JavaScript-Browser die komfortable Lösung mit dem schnellen Verweis als auch für die anderen Benutzer die volle Funktionalität vorgesehen.
Viel Erfolg!
Geronimo
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Nachtrag
Geronimo, 19.09.2001 17:55:24
noch ein Nachtrag zu der meiner vorherigen Antwort:
Natürlich kann die "select.jsp" genau die Seite sein, die das Codefragment beinhaltet. Dann kannst du damit genau dein Update on Change realisieren.
Noch eine grundsätzliche Anmerkung: Bei der Programmierung von JSP und DHTML (=JavaScript) ist genau auseinander zu halten welcher Teil wo läuft. Die Kommunikation findet über HTTP statt und ist verbindungslos, d. h. der Server bekommt von irgendwelchen Änderungen in HTML-Forms erst dann etwas mit, wenn ein neuer Request vom Browser abgesendet wird.
JSP werden auf dem Server ausgewertet und generieren einen HTML-Content der als Antwort auf einen Request an den Browser gesandt wird. Wie schon gesagt, in der JSP gibt es direkt keine Möglichkeit, auf Eingaben des Bedieners direkt bei der Eingabe zu reagieren. Das geht erst, wenn ein Request an den Server geschickt wird (in der Regel, wenn ein Submit-Button geklickt wird).
Über JavaScript kann ich aber Browser-seitig - wie oben beshrieben - einen Submit bei Eingaben herbeiführen. DHTML/JavaScript wird im Browser ausgewertet und läuft auf dem Rechner desjenigen, der sich einen Content auschaut.
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Danke
Niesfisch, 21.09.2001 09:44:24
Danke erstmal für eure Antworten. Das was du mir geschildert hast, war ja auch mein erster Gedanke,da problem is nur ich darf aus security gründen nix an die URI anhängen. ich habe aber auch eine andere mgl. gefunden. dies funktioniert mit Javascript .... .form.submit() falls ein onchange true ist wird automatisch die form gesendet und der kann ich mit meinen hidden fields die variablen mitgeben.
trotzdem danke für deine antwort
ciao Marcel@Niesfisch
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Legende: Anonymer User registrierter User sehr aktiver User
|
|
Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir
betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten
haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf
dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer
Homepage angebrachten Links
Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig-
und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes.
Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen
obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung
einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung
bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.
Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries.
IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation.
Other trademarks and registered trademarks are the property of their respective owners.
|
|
|
|