.innerHTML in Javascript

.innerHTML in Javascript

本文关键字:Javascript in innerHTML      更新时间:2023-09-26

我试图验证一个登录页面与一个div显示错误,我使用innerHTML改变空白文本与错误发生的div,问题是错误消息写入并消失只是在一秒钟

代码

<html>
<head>
<title>
    Sign up for a membership @ Ay 7aga.com
</title>
<script type="text/javascript">
function check(){
var x = "";
if(document.getElementById('user').value =="")
    x+="Enter user name -";
if(document.getElementById('password').value =="")
    x+="Enter password";
document.getElementById('error1').innerHTML = x;
}
</script>
</head>
<body>
<div name="error" id="error" style="width:1200px;background-color:red"> 
<p name="error1" id="error1"> 
</div>
<center>
<br/>
<form name="register" id="register" >
    <table>
        <tr>
        <td> UserName </td>
            <td> <input type="text" id="user" /> </td>
        </tr>
        <tr>
            <td> Password </td>
            <td> <input type="password" name="password" id="password"/></td>
        </tr>
    </table>
    <button onclick="check()"> Submit </button>
</form>
<a href="Home page.html"> Go to Home page </a>
</center>
</body>
</html>

当使用<button>标记时,"type"属性很重要:大多数浏览器(正确地)默认该类型为"submit",这使得它作为表单提交元素工作。你可以将该类型设置为"button",这使得按钮除了触发事件处理程序之外没有任何原生行为。因此:

:

<button onclick="check()" type=button>Submit</button>

将防止按钮导致隐式提交表单。

你的做法是错误的。可能发生的情况是,你的for是在点击登录按钮后提交的,所以这就是为什么文本在几秒钟内"消失"的原因。

将您的登录检查放在服务器端,并为该特定场景生成HTML内容,而不是使用JavaScript。

顺便说一句:你正在使用的<button>标签是什么?