我对javascript有这个奇怪的问题。我写了一个代码,检查用户输入的文本是否良好,一段时间后,消息说是否好消失了,有什么建议吗?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<ul style="text-align:"right" dir="rtl">
<script type="text/javascript">
function validate() {
var ok = true;
if (FirstName() == false) {
ok = false;
}
}
function FirstName() {
document.getElementById("firstName").innerHTML = "";
var firstName = document.getElementById("firstName").value;
var length = firstName.length;
if (length < 2) {
document.getElementById("firstN").innerHTML = "not good";
return false;
}
else {
document.getElementById("firstN").innerHTML = "good";
}
return true;
}
</script>
</head>
<body>
<form id="form1" runat="server" onsubmit="return validate()" action="Default2.aspx">
<div>
enter you first name
<input type="text" id="firstName" />
<label id="firstN"></label>
<br />
<input type="submit" value="send"/>
</div>
</form>
</body>
</html>
答案 0 :(得分:1)
好吧,
请记住,当您在表单中提到操作时,控件将在遇到“TRUE”时转移到其中提到的页面。 如果您仍希望看到“好”,则可以删除操作。
为了让您的代码正常工作,您可以按照以下方式进行更改,
<script type="text/javascript">
function validate() {
if (FirstName() == false) {
return false;
} else {
return true;
}
}
function FirstName() {
document.getElementById("firstName").innerHTML = "";
var firstName = document.getElementById("firstName").value;
var length = firstName.length;
if (length < 2) {
document.getElementById("firstN").innerHTML = "not good";
return false;
}
else {
document.getElementById("firstN").innerHTML = "good";
}
return true;
}
</script>
OR,
您可以使用更好,更省时的jQuery验证,
答案 1 :(得分:0)
提交操作会刷新页面,这就是您暂时只能看到该页面的原因。 如果你想留在那个页面上,你必须使用异步表单。