javascript und jsp
wenn ich versuche, Zugriff auf eine jsp-variable in javascript-ich bekomme immer als null. warum ist das so? wie bekomme ich die aktuelle jsp-variable mit dem Wert in javascript. hier ist mein code
<%! String oldpassword; %>
<html>
<head>
<script type="text/javascript">
function redirect()
{
var oldpassword_actual="<%= oldpassword %>";
var oldpassword_entered=document.form.oldpassword.value;
var newpassword=document.form.newpassword.value;
var reenterpassword=document.form.confirmpassword.value;
alert(oldpassword_actual);
alert(oldpassword_entered);
alert(newpassword);
alert(reenterpassword);
return false;
}
</script>
</head>
<body align="center">
<form name="form" action="" method="post">
Enter old password<input type="password" name="oldpassword"></br></br>
Enter new password<input type="password" name="newpassword"></br></br>
Reenter new password<input type="password" name="confirmpassword"></br></br>
<%
oldpassword=(String)session.getAttribute("Password");
%>
<input type="submit" name="confirm" value="Confirm" onclick="return redirect()">
</form>
</body>
</html>
wenn die alert-box öffnet sich..es gibt einen null-Wert für die jsp variable..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es, weil die JSP variable ist gedruckt worden, als JavaScript-variable vor das Formular abgeschickt wird.
Kurze Erklärung: die JSP läuft am webserver erzeugt HTML/CSS/JS, webserver sendet Sie an Web-Browser, HTML/CSS/JS läuft im webbrowser. Lange Erklärung: die Kommunikation zwischen der Java/JSP und JavaScript.
Wie man dieses Problem lösen: ersetzen Sie JavaScript durch eine Java-Servlet. JavaScript ist nicht das richtige Werkzeug für den job der request-Verarbeitung.
Müssen Sie sich zu bewegen:
An die Spitze der Ihren code (oder irgendwo über der Zeile: var oldpassword_actual="<%= oldpassword %>";)