如何检查HTML表单的输入并使用JAVASCRIPT在现场打印ERROR消息?

时间:2012-05-24 21:39:31

标签: javascript html

<script>
function validate(){
u=document.CustomerLogin.UserName.value;
p=document.CustomerLogin.Password.value;
rp=document.CustomerLogin.RePassword.value;

if (u==""){
 document.write("Enter a unique username");
 return false;
 }
if (p!=rp){
 document.write("Retype Password Incorrect");
 return false;
 }
return true;
}
</script>

消息打印在单独的页面上,但我希望它们打印在文本框前面的相同位置!请帮忙。谢谢!

3 个答案:

答案 0 :(得分:1)

永远不要使用文档写,这是危险的......

document.getElementById(“anidofanElementinthePage”)。innerHTML =“通过javascript添加的字符串”;

<script>
function validate(){
u=document.CustomerLogin.UserName.value;
p=document.CustomerLogin.Password.value;
rp=document.CustomerLogin.RePassword.value;

if (u==""){
  document.getElementById("theIdOfyourTextBlocInForm").innerHTML = "Enter a unique username";
 return false;
 }
if (p!=rp){
 document.getElementById("theIdOfyourTextBlocInForm").innerHTML = "Retype Password Incorrect";
 return false;
 }
return true;
}
</script>

答案 1 :(得分:0)

您需要检测文本更改。一种方法是使用它:

<input name="blah" onchange="validate()" ... />

修改 要在同一页面上添加文字,请使用<script src=...>添加脚本,然后在<div id='validation[i]'></div>每次增加1的每个输入旁边添加[i](因此validation1 validation2等) 。然后,使用getElementById('validation[i]').innerHtml更改值。

答案 2 :(得分:0)

document.write只会将消息附加到页面末尾。最简单的解决方案是将其更改为如下警告:

if (u==""){
 alert("Enter a unique username");
 return false;
}

否则,您需要创建新的DOM元素(事先或检测到错误)以保留消息并将它们放在输入旁边