【求助】jsp中onsubmit无法执行js中的函数 已经纠结两天怀疑是myeclipse中的bug

花十 2014-03-06 12:21:10
//js文件 Rcheckdata.js


function checkdata() {
var ssn=form.username.value.toLowerCase();
var pwd=form.password.value.toLowerCase();
var pwd2=form.password2.value.toLowerCase();

if (!checkUserName(ssn)) return false; //用户名检查
if (!checkPassWord1(pwd,ssn)) return false;
if (!checkPassWord2(pwd,pwd2)) return false; //密码的相关检查
return true ;
}

function checkUserName(ssn){
if( ssn.length<3 || ssn.length>18 ) {
//alert("\请输入正确的用户名,用户名长度为3-18位!")
document.getElementById("usermsg").innerHTML = "<font color = 'red'>请输入正确的用户名,用户名长度为3-18位!</font>";
form.username.focus()
return false;
}
if (isWhiteWpace(ssn)){
//alert("\请输入正确的用户名,用户名中不能包含空格!")
document.getElementById("usermsg").innerHTML = "<font color = 'red'>请输入正确的用户名,用户名中不能包含空格!</font>";
form.username.focus()
return false;
}
if (!isSsnString(ssn)){
//alert("\ 对不起,您选择的用户名不正确或已被占用!用户名\n由a~z的英文字母(不区分大小写)、0~9的数字、点、减\n号或下划线组成,长度为3~18个字符,只能以数字或字母\n开头和结尾,例如:kyzy_001。")
document.getElementById("usermsg").innerHTML = "<font color = 'red'> 对不起,您选择的用户名不正确或已被占用!用户名\n由a~z的英文字母(不区分大小写)、0~9的数字、点、减\n号或下划线组成,长度为3~18个字符,只能以数字或字母\n开头和结尾,例如:kyzy_001。</font>";
form.username.focus()
return false;
}

document.getElementById("usermsg").innerHTML = "";

return true;
}

function checkPassWord1(pwd,ssn){

/*alert(pwd);
alert(ssn);
*/
if( strlen(pwd)<6 || strlen(pwd)>16 ) {
//alert("\正确地登录密码长度为6-16位,仅可用英文、数字、特殊字符!")
document.getElementById("pwd").innerHTML = "<font color = 'red'>\正确地登录密码长度为6-16位,仅可用英文、数字、特殊字符!</font>";
form.possword.focus()
return false;
}
if( strlen2(pwd) ) {
//alert("\您的密码中包含了非法字符,仅可用英文、数字、特殊字符!")
document.getElementById("pwd").innerHTML = "<font color = 'red'>\您的密码中包含了非法字符,仅可用英文、数字、特殊字符!</font>";
form.possword.focus()
return false;
}

if( pwd == ssn ) {
//alert("\用户名和密码不能相同!")
document.getElementById("pwd").innerHTML = "<font color = 'red'>\用户名和密码不能相同!</font>";
form.possword.focus()
return false;
}
document.getElementById("pwd").innerHTML = "";

return true;

}

function checkPassWord2(pwd,pwd2){

if( pwd2 =="" ) {
//alert("\请输入密码确认!")
document.getElementById("pwd2").innerHTML = "<font color = 'red'>\请输入密码确认!</font>";
form.possword2.focus()
return false;
}
if( pwd2 != pwd ) {
//alert("\两次密码输入不一致!")
document.getElementById("pwd2").innerHTML = "<font color = 'red'>\两次密码输入不一致!</font>";
form.possword.focus()
return false;
}
document.getElementById("pwd2").innerHTML = "";

return true;

}

function strlen(str){
var len;
var i;
len = 0;
for (i=0;i<str.length;i++){
if (str.charCodeAt(i)>255) len+=2; else len++;
}
return len;
}

function strlen2(str){
var len;
var i;
len = 0;
for (i=0;i<str.length;i++){
if (str.charCodeAt(i)>255) return true;
}
return false;
}

function isWhiteWpace (s)
{
var whitespace = " \t\n\r";
var i;
for (i = 0; i < s.length; i++){
var c = s.charAt(i);
if (whitespace.indexOf(c) >= 0) {
return true;
}
}
return false;
}

function isSsnString (ssn)
{
var re=/^[0-9a-z][\w-.]*[0-9a-z]$/i;
if(re.test(ssn))
return true;
else
return false;
}

function checkssn(gotoURL) {
var ssn=form.username.value.toLowerCase();
if (checkUserName(ssn)){
var open_url = gotoURL + "?username=" + ssn;
window.open(open_url,'','status=0,directories=0,resizable=0,toolbar=0,location=0,scrollbars=0,width=322,height=200');
}
}

//jsp 文件 register.jsp
<%@page import="com.zqw.shopping.entity.User"%>
<%@page import="com.zqw.shopping.util.DB"%>
<%@ page language="java" import="com.zqw.shopping.*" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ page import="com.zqw.shopping.*"%>

<html><head><title>会员注册</title>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="Discuz!,Board,Comsenz,forums,bulletin board,">
<meta name="description" content="专区 - Discuz! Board">
<meta name="generator" content="Discuz! 4.0.0RC4 with Templates 4.0.0">
<meta name="MSSmartTagsPreventParsing" content="TRUE">
<meta http-equiv="MSThemeCompatible" content="Yes">

<style type="text/css"><!--
a { text-decoration: none; color: #000000 }
a:hover { text-decoration: underline }
body { scrollbar-base-color: #F3F6FA; scrollbar-arrow-color: #4D76B3; font-size: 12px; background-color: #ffffff }
table { font: 12px Verdana,Tahoma; color: #000000 }
input,select,textarea { font: 11px Verdana,Tahoma; color: #000000; font-weight: normal; background-color: #F3F6FA }
select { font: 11px Verdana,Tahoma; color: #000000; font-weight: normal; background-color: #F3F6FA }
.nav { font: 12px Verdana,Tahoma; color: #000000; font-weight: bold }
.nav a { color: #000000 }
.header { font: 11px Verdana,Tahoma; color: #FFFFFF; font-weight: bold; background-image: url("images/green/bg01.gif") }
.header a { color: #FFFFFF }
.category { font: 11px Verdana,Tahoma; color: #000000; background-color: #EFEFEF }
.tableborder { background: #4D76B3; border: 0px solid #4D76B3 }
.singleborder { font-size: 0px; line-height: 0px; padding: 0px; background-color: #F3F6FA }
.smalltxt { font: 11px Verdana,Tahoma }
.outertxt { font: 12px Verdana,Tahoma; color: #000000 }
.outertxt a { color: #000000 }
.bold { font-weight: bold }
.altbg1 { background: #F3F6FA }
.altbg2 { background: #FFFFFF }
--></style>
<script language="javascript" type="text/javascript" src="script/Rcheckdata.js"></script>
</head>

<%
request.setCharacterEncoding("UTF-8");
String action=request.getParameter("action");
if(action!=null && action.trim().equals("register"))
{
String username = request.getParameter("username");
String password = request.getParameter("password");
String phone = request.getParameter("phone");
String addr = request.getParameter("addr");
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setPhone(phone);
user.setAddr(addr);
user.save();
return;
}

%>

<body>
<table style="table-layout: fixed;" align="center" border="0" cellpadding="0" cellspacing="0" width="97%">
<tbody><tr><td class="nav" align="left" nowrap="nowrap" width="90%"> 商城 » 注册</td>
</tr></tbody></table><br>

<form method="post" name="register" action="register.jsp" onsubmit="return checkdata();">
<input type="hidden" name="action" value="register"/>

<table class="tableborder" align="center" cellpadding="4" cellspacing="1" width="97%">
<tbody>

<tr>
<td colspan="2" class="header">注册 - 必填内容</td>
</tr>

<tr>
<td class="altbg1" width="21%">用户名:</td>
<td class="altbg2"><input id="username" name="username" size="25" maxlength="25" type="text" onblur="checkUserName(this.value.toLowerCase())">
<span id="usermsg"></span>
</td>
</tr>

<tr>
<td class="altbg1">密码:</td>
<td class="altbg2"><input name="password" size="25" type="password" onblur="checkPassWord1(this.value.toLowerCase(),form.username.value.toLowerCase())"><span id="pwd"></span></td>
</tr>

<tr>
<td class="altbg1">确认密码:</td>
<td class="altbg2"><input name="password2" size="25" type="password" onblur="checkPassWord2(form.password.value.toLowerCase(),this.value.toLowerCase())"><span id="pwd2"></span></td>
</tr>

<tr>
<td class="altbg1">电话:</td>
<td class="altbg2"><input name="phone" type="text" id="phone" size="25" onblur=""></td>
<span id="phones"></span>

</tr>

<tr>
<td class="altbg1" valign="top">送货地址:</td>
<td class="altbg2"><textarea name="addr" cols="60" rows="5" id="addr"></textarea></td>
<span id="addrs"></span>
</tr>
</tbody></table>
<br>
<center><input type="submit" name="regsubmit" value="提   交" ></center>
</form>

</body>

...全文
2383 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gchd7h 2014-04-17
  • 打赏
  • 举报
回复
同求 onsubmit=“alert('hello')” 可以使用 会有提示框 onsubmit="return:chenck();" 调用函数的时候 会提示说 不能返回外部的函数方法 (Cannot return from outside a function or method.)
乔不思 2014-03-07
  • 打赏
  • 举报
回复
二楼说的对.调试一下,你是不是根本就没有触发事件啊,你贴关键代码就行了,贴这么多,太不好找了,
ganshenml 2014-03-06
  • 打赏
  • 举报
回复
没看内容,使用onclick试试看!type="button"
amie23 2014-03-06
  • 打赏
  • 举报
回复
虽然看不懂,帮顶一个
花十 2014-03-06
  • 打赏
  • 举报
回复
引用 2 楼 defonds 的回复:
用 firebug 看看,到底发生了什么
主要是 checkdata()执行不了
花十 2014-03-06
  • 打赏
  • 举报
回复
主要是 checkdata()执行不了
Defonds 2014-03-06
  • 打赏
  • 举报
回复
用 firebug 看看,到底发生了什么
花十 2014-03-06
  • 打赏
  • 举报
回复
主要是 checkdata()执行不了
ay转身遇 2014-03-06
  • 打赏
  • 举报
回复
你的js在外面,怎么能调用的到???要么你把js方法写在本jsp页面,要么引入js
tony4geek 2014-03-06
  • 打赏
  • 举报
回复
<form method="post" name="register" action="register.jsp" onsubmit="return checkdata();"> <center><input type="button" name="regsubmit" value="提   交" ></center>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧