【发布时间】:2016-05-31 11:28:37
【问题描述】:
你好我有一个简单的表单来验证我想做一个客户端验证假设我的表单只有一个名称字段我想检查名称长度是否在 5 到 20 个字符之间如果是那么没问题并且数据将被发送到服务器,然后应用服务器端验证;但是,如果不是,则错误消息将显示在输入字段旁边的范围内,说它必须是 5 到 20 个字符。问题是当我点击提交按钮它显示结果不到一秒钟然后它会导致提交按钮重新加载页面这也意味着如果我包含了我的服务器端验证它也将被处理,因为输入数据已经发送所以我怎么能停止提交按钮从发送数据到服务器并重新加载页面而不禁用按钮。
这是我的示例代码
<!doctype html>
<html>
<head>
<title>form validation</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script>
$( document ).ready(function() {
$("#submit").click(function(){
myfunction();
});
function myfunction()
{
name = $("#user").val();
nameError = $(".error").first();
myError = "";
if(name.length < 5 || name.length > 20)
myError += "length should be between 5 and 20 ";
else
myError += "ok"
nameError.html(myError);
}
});
</script>
<style>
.error
{
color : red;
text-transform: capitalize;
margin-left: 20px;
}
</style>
</head>
<body>
<form method="post" action="">
NAME : <input type="text" name="user" id="user"><span class="error"></span><br />
<input type="submit" value="Submit" id="submit">
</form>
</body>
</html>
【问题讨论】:
-
return true /false from "myfunction" 并检查按钮 跨度>
标签: javascript jquery html forms http-post