日期:2014-05-17  浏览次数:20804 次

新手求助,onlick调用javascript函数没反应,求帮我看看怎么回事
在网页上输入密码后 点提交的button onlick后没有反应 如果把前面两个时间删掉 只剩submit()就可以 帮我看看前面两个调用的语法是不是有问题 该怎么改 才学这个两周 不太会


<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ page language="java" import="zgh.*" %>
<jsp:useBean id="oMD5" scope="page" class="zgh.MD5"/>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
register
</title>
</head>
<body>
<h1>Please input your name and password:</h1>
<p>
<script language="javascript" >
function md(String pw)
{
String pwd=oMD5.getMD5ofStr(pw);
  return pwd;
}
</script >

<form action="servlet/LoginServlet" method="post">
<table>
<tr>
<td>Your name:</td>
<td><input type="text" name="username" ></td>
</tr>

<tr>
<td>Password:</td>
<td><input type="password" name="password" ></td>
</tr>
<tr>
<td>input password again:</td>
<td><input type="password" name="password2"></td>
</tr>

<input type="hidden" name="passwordmd5" />
<input type="hidden" name="password2md5"/>

<tr>
<td><input type="button" value="提交" onclick="passwordmd5.value=md(password.value);password2md5.value=md(password2.value);submit()"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>


------解决方案--------------------
你这个问题有点概念混淆了。
你不能用js去调用java的bean。
jsp中嵌套的java代码是在服务器端被执行的。
js是在你客户端浏览器中执行的。
String pwd=oMD5.getMD5ofStr(pw); 这一行是java代码,你却让浏览器当做js代码去执行。
另外 passwordmd5.value不能这样直接写。
开始学要一点点的调试,你先看看这个,如果你要在提交form前调用javabean 只能用ajax。
调通一步再下一步,不然到处都是问题,就很难解决了。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
register
</title>
</head>
<body>
<p>
<script type="text/javascript" language="javascript">
 function test(){
  alert("asdf");

alert(form1.username.value);
alert(form1.password.value);

alert(form1.passwordmd5.value);
  form1.submit();
 }
</script>


<form name="form1" action="servlet/LoginServlet" method="post">
 <table>
 <tr>
 <td>Your name:</td>
 <td><input type="text" name="username" ></td>
 </tr>

 <tr>
 <td>Password:</td>
 <td><input type="password" name="password" ></td>
 </tr>
 <tr>
 <td>input password again:</td>
 <td><input type="password" name="password2"></td>
 </tr>

 <input type="hidden" name="passwordmd5" value="tt"/>
 <input type="hidden" name="password2md5&