<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>
消息打印在单独的页面上,但我希望它们打印在文本框前面的相同位置!请帮忙。谢谢!
答案 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元素(事先或检测到错误)以保留消息并将它们放在输入旁边