javascript 与表单提交

jiangtianyin 2009-12-08 11:28:03
我有一个用户注册的页面,注册是包含的用户信息有:用户名,密码,邮箱。为了让页面更友好,我在客户端使用了JavaScript脚本进行输入验证(并没有使用asp.net自带的验证控件),比如用户输入的格式错误那么JavaScript函数返回false,格式正确返回TRUE。然后在页面的最下方有一个服务器端控件的Button,如果前面的JavaScript验证都返回true,那么将注册信息提交到数据库,并跳转页面,如果有一处验证返回false,那么不应该提交表单,并停留在当前页面

<asp:TextBox ID="txtbUserName" runat="server" class="txtbox" onblur="CheckUserName('UserName')" onFocus="RightName('UserName')" ></asp:TextBox>

CheckUserName('UserName') 是我自己写的验证用户名格式的JavaScript函数,格式正确返回TRUE,否则返回false。但是现在无论验证是否成功(表单中可能有某些验证不成功),页面仍然会跳转,所以我想请交大家关于表单提交的原理,要怎样才能使得所有客户端验证成功才提交表单,还有我自己写的JavaScript函数的返回值该如何使用?
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujiazhi 2009-12-08
  • 打赏
  • 举报
回复
<asp:Button runat="server" Text="Submit" onClick="服务端事件" onClientClick="return checkValues();"></asp:Button>
checkValues为验证的JS函数,当返回false时不执行服务端事件,返回true则执行
草根醉秋意 2009-12-08
  • 打赏
  • 举报
回复
定义一个全局的js变量,如果有输入没有通过验证,将全局变量设置为false

<script type="text/javascript">
var isValidate = true;
function checkForm() {
if(!isValidate){alert("未通过验证");}
return isValidate;
}
function checkUserName() {
isValidate = false;
}

</script>
<asp:Button ID="btnSubmit" Text="submit" runat="server" />

btnSubmit.Attributes.Add("onclick", "return checkForm()");
lovexilove 2009-12-08
  • 打赏
  • 举报
回复
路过路过
zhong2006 2009-12-08
  • 打赏
  • 举报
回复
你验证事件加的不对。
unixpeters 2009-12-08
  • 打赏
  • 举报
回复
<form onSubmit="return checks()">
<asp:TextBox runat="server" id="users"></asp:TextBox>
</form>

<script type="text/javascript">

function checks()
{
var str=document.getElementById("users").value;
if(str.length==0){alert('不能为空!');
//这里控制它是否提交
return false;}
}

</script>
watsonchia 2009-12-08
  • 打赏
  • 举报
回复
一般在提交的form的onsubmit()方法写js验证,onsubmit的函数返回false就不能提交。比如<form onsubmit="return false;"> 这样表单就无法提交,你可以把相应的js验证函数放到onsubmit=""的双引号里

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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