日期:2014-05-18  浏览次数:20778 次

javascript和jsp混合编程
请各位高手看一看一下代码:
文件名:text.jsp

<html>
<head>
<title> 欢迎购物 </title>
<Script   Language= "JavaScript ">
function   checkuser(var   reg){
if(reg== "unregister "){
alert( "ok ");
}
}
</Script>
</head>
<body>
<%
String   i= "unregister ";
%>
<form   action= " ">
<input   type= "button "   value= "确定 "   onclick= "checkuser( <%=i%> ) ">
</form>
              </body>
    </html>
请问单击确定按钮时为什么状态栏提示网页有错误呀!!!!


------解决方案--------------------
<%@ page language= "java " import= "java.util.* " pageEncoding= "GBK "%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN ">
<html>
<head>
<title> 欢迎购物 </title>
<Script Language= "JavaScript ">
function checkuser()
{
if(document.getElementById( "h ").value== "unregister "){
alert( "ok ");
}
}
</Script>
</head>
<body>
<%
String i= "unregister ";
%>
<form action= " ">
<input type= "button " value= "确定 " onclick= "checkuser() ">
<input type= "hidden " id= "h " value= " <%=i%> "/>
</form>
</body>
</html>

------解决方案--------------------
你在js脚本里面传入参数的时候,不需要写上var去定义一个变量reg,将var去掉,因为JavaScript里面定义变量的类型为弱变量类型的
------解决方案--------------------
function checkuser(reg){
if(reg== "unregister "){
alert( "ok ");
}
}

------解决方案--------------------
LZ的错误原因是checkuser( <%=i%> ),改成 <input type= "button " value= "确定 " onclick= "checkuser( ' <%=i%> ') "> 看看
------解决方案--------------------
有两个问题:
1、去掉checkuser(var reg)中的var,javascript中没有这样的语法。
2、onclick= "checkuser( <%=i%> ) "应该是onclick= "checkuser(\ " <%=i%> \ ") ",参数为字符串,需要加引号。