关于 javascript 表单验证 无法跳转的问题..

taotao1026 2010-04-30 04:32:10

RT···
...全文
311 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
passself 2010-05-03
  • 打赏
  • 举报
回复
如果有action和submit不会出现这种情况
ch_yangqin 2010-05-03
  • 打赏
  • 举报
回复
问题解决没有啊?
将<input name="Button" type="button" class="btn_bg_short" value="提交" onClick="check_member('form_checkout')">
改为
"><input name="Button" type="button" class="btn_bg_short" value="提交" onClick="check_member(this.form)">
将return 改为 return false;
就可以了呀
还有啊你的<input name="truename" type="text" id="truename" value="<%=Truename%>">
都有初始值呀,不满足if(form.truename.value=="")这个条件哦!
vip__888 2010-05-01
  • 打赏
  • 举报
回复
检查生成HTML后是否有多个form
wlzx21 2010-05-01
  • 打赏
  • 举报
回复
参数有问题
把参数去掉
<input name="Button" type="button" class="btn_bg_short" value="提交" onClick="check_member()">
在form加个ID
在验证开始加写上
var form=documentById("id名");
再这样去引用:form.truename.value
建议把form改个名
另外试试不带参数,把验证代码中的FORM改成form_checkout
licip 2010-05-01
  • 打赏
  • 举报
回复
对form表单,在表单提交之前,想检查一下你输入的数据是否正确,一般是在form中加一个属性onsubmit="return checkForm(this)",如果最后反回false则不会提交,如果反回true则会提交,如果没有反回也会提交的。
robin_hood2012 2010-05-01
  • 打赏
  • 举报
回复
在每个 错误提示那里 加个 return false;
<script language="javascript">
function check_member(form){
if(form.truename.value==""){
alert("请输入您的真实姓名!");form.truename.focus();return false;
}
if(form.address.value==""){
alert("请输入您的联系地址!");form.address.focus();return false;
}
if(form.postcode.value==""){
alert("请输入您的邮政编码!");form.postcode.focus();return false;
}
if(form.tel.value==""){
alert("请输入您的联系电话!");form.tel.focus();return false;
}
form.submit();
}
</script>
ch_yangqin 2010-04-30
  • 打赏
  • 举报
回复
问题就出在函数调用那里
<input name="Button" type="button" class="btn_bg_short" value="提交" onClick="check_member('form_checkout')">
改为
"><input name="Button" type="button" class="btn_bg_short" value="提交" onClick="check_member(this.form)">

ch_yangqin 2010-04-30
  • 打赏
  • 举报
回复
你点了没反应吗?点了有反应的呀!是不是你调用函数的时候有问题?
<input type="submit" onclick="return check_member(this.form)" /> 或者
<form onsubmit="return check_member(this)">都是可以的
另外,"return;" 应改为"return false;"这样 当天蝎不正确时,表单不会被提交
Mr-Jee 2010-04-30
  • 打赏
  • 举报
回复
除非你提供详细点的问题描述,否则我这找不到任何问题
taotao1026 2010-04-30
  • 打赏
  • 举报
回复

那我的怎么回事啊 哭T.T

程序是在MyEclipse 里弄的。就是没反应啊..

Mr-Jee 2010-04-30
  • 打赏
  • 举报
回复
这样的 我把你的代码原样复制到我的电脑下 可以运行 而且没有问题。 当然js代码和html里那个button的代码换成了我的
Mr-Jee 2010-04-30
  • 打赏
  • 举报
回复
我的代码换上了依然不对吗?
你可以看下提示什么错误码
taotao1026 2010-04-30
  • 打赏
  • 举报
回复
我再贴完整点...

<form method="post" action="cart_order.jsp" name="form_checkout">
<table width="100%" height="339" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="7%" height="26">  </td>
<td height="26" colspan="2" class="word_deepgrey">注意:请您不要恶意或非法提交订单以免造成不必要的麻烦!</td>
</tr>
<tr>
<td height="26" colspan="2" align="center">用 户 名:</td>
<td width="74%"><input name="username" type="text" id="username" value="<%=Username%>" readonly="yes">
*</td>
</tr>
<tr>
<td height="26" colspan="2" align="center">真实姓名:</td>
<td><input name="truename" type="text" id="truename" value="<%=Truename%>">
*</td>
</tr>
<tr>
<td height="26" colspan="2" align="center">联系地址:</td>
<td><input name="address" type="text" id="address" value="<%=address%>">
*</td>
</tr>
<tr>
<td height="26" colspan="2" align="center">邮政编码:</td>
<td><input name="postcode" type="text" id="postcode" value="<%=postcode%>">
*</td>
</tr>
<tr>
<td height="26" colspan="2" align="center">联系电话:</td>
<td><input name="tel" type="text" id="tel" value="<%=tel%>">
*</td>
</tr>
<tr>
<td height="26" colspan="2" align="center">付款方式:</td>
<td><select name="pay" class="textarea">
<option>银行付款</option>
<option>邮政付款</option>
<option>现金支付</option>
</select>
*</td>
</tr>
<tr>
<td height="26" colspan="2" align="center">运送方式:</td>
<td><select name="carry" class="textarea">
<option>普通邮寄</option>
<option>特快专递</option>
<option>EMS专递方式</option>
</select>
*</td>
</tr>
<tr>
<td height="101" colspan="2" align="center">备    注:</td>
<td><textarea name="bz" cols="50" rows="5" class="textarea" id="bz"></textarea></td>
</tr>
<tr align="center">
<td colspan="3"><input name="Button" type="button" class="btn_bg_short" value="提交" onClick="check_member('form_checkout')">

 
<input name="Submit2" type="button" class="btn_bg_short" value="返回" onClick="history.back(1);"></td>
</tr>
</table>
</form>

taotao1026 2010-04-30
  • 打赏
  • 举报
回复

你的路子好像是对的..
因为上次也出现过类似的问题.我记得有个人给我调过以后说:

获得页面中某个元素,不能简单的用他的name属性

可以尝试给form表单设定一个页面唯一的id

然后通过document.getElementById('表单的id').submit();

===
但是我按照你说的改了 ,点击按钮依然木有反应,,
Mr-Jee 2010-04-30
  • 打赏
  • 举报
回复
上不了QQ 有什么问题请说
taotao1026 2010-04-30
  • 打赏
  • 举报
回复

好像还是有点问题..
cj205, 我能加你QQ 说么?
Mr-Jee 2010-04-30
  • 打赏
  • 举报
回复
<td colspan="3"><input name="Button" type="button" class="btn_bg_short" value="提交" onClick="check_member('form_checkout')">


html改成这个
Mr-Jee 2010-04-30
  • 打赏
  • 举报
回复
我说下 你改看看
<td colspan="3"><input name="Button" type="button" class="btn_bg_short" value="提交" onClick="check_member(form_checkout)">


<script language="javascript">
function check_member(form_name){
var form = document.getElementsByName(form_name)[0];
if(form.truename.value==""){
alert("请输入您的真实姓名!");form.truename.focus();return;
}
if(form.address.value==""){
alert("请输入您的联系地址!");form.address.focus();return;
}
if(form.postcode.value==""){
alert("请输入您的邮政编码!");form.postcode.focus();return;
}
if(form.tel.value==""){
alert("请输入您的联系电话!");form.tel.focus();return;
}
form.submit();
}
</script>
taotao1026 2010-04-30
  • 打赏
  • 举报
回复

action 有写额... T.T
taotao1026 2010-04-30
  • 打赏
  • 举报
回复
对的... 点后木有反应...

如何解决呢? 对javascript 刚接触 很小白..

请高手指点..

加载更多回复(3)

87,907

社区成员

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

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