如何通过使用js使a-tag消失?

时间:2019-01-15 00:14:58

标签: javascript html css

我一直在查看成千上万的教程,以使a-tag消失并重新出现在我的“登录”表单中,但没有一个对我有用。即使我复制并粘贴它也不起作用。这是我的代码

    <form>
        <input type="submit" name="btnadd" value="Login" onsubmit="hide()">
        <a style="color: red;" id="notfound">User not found!</a>
    </form>

</div>
<script>
    var hide = function() {
        var x = document.getElementById("notfound");
        if (x.style.display === "none") {
            x.style.display = "block";
        } else {
            x.style.display = "none";
        }
    }
</script>

请帮助我完成这项工作。

3 个答案:

答案 0 :(得分:3)

2个问题。

  1. 提交表单时,将使用默认操作来重新加载当前页面,因此您需要避免这种情况。
  2. onsubmit是表单的一部分,而不是按钮。

下面是一个有效的示例。

ps。直接在元素上使用onsubmit,onclick等不是现代方法,请查看addEventListener https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener,以更好地处理DOM事件。

ps。如果运行该代码段,则可能会在再次单击该按钮时注意到,该链接显示在下面,这是因为锚标记是默认的内联而不是阻塞的。因此,要停止此操作,您可以将其更改为内联。

var hide = function() {
    var x = document.getElementById("notfound");
    if (x.style.display === "none") {
        x.style.display = "block";
    } else {
        x.style.display = "none";
    }
    return false;
}
<div>Login Page.</div>

<form onsubmit="return hide();">
  <input type="submit" name="btnadd" value="Login">
  <a style="color: red;" id="notfound">User not found!</a>
</form>

答案 1 :(得分:1)

您实际上非常亲密,样式应为:

x.style.visibility = 'hidden'

也就是说,如果您想要的效果是完全不可见的。

答案 2 :(得分:0)

OnSubmit将无法完成它。使用onClick =“ myFunction();”。 document.getElementById(“ notfound”)。style.visibility =“隐藏”;