18910140161

JavaScript-如何在表单验证中只添加一次子项?-堆栈溢出

顺晟科技

2022-10-18 12:42:37

90

当我单击“提交”时,

我只尝试添加一次appendChild,但它显示了很多次。

if(input_name.value =="" ||input_email.value =="" || input_password.value =="")
{
    var tag = document.createElement("p");
    var text = document.createTextNode("all input are reqired");
    tag.appendChild(text);
    var element = document.getElementById("new");
    element.appendChild(tag);
}

顺晟科技:

不是每次都创建一个新元素,而是在HTML中有一个空的元素,然后当你有一个错误时,把消息放进去。

<代码><;DIV ID=' new '>;<;p>;<;/p>;amp;lt;/DIV&>;
<div id='new'><p></p></div>

如果我理解正确的话,你想要这个吗?

var element = document.querySelector("#new p");
if(input_name.value =="" ||input_email.value =="" || input_password.value =="")
{
    element.innerHTML = 'all input are reqired';
}
else{
    element.innerHTML = '';
}

您需要删除";ValidationMessage";当它有效时.

if(input_name.value =="" ||input_email.value =="" || input_password.value =="")
{
    if(document.getElementById("validationmessage"))return;
    var tag = document.createElement("p");
    tag.id="validationmessage";
    var text = document.createTextNode("all input are reqired");
    tag.appendChild(text);
    var element = document.getElementById("new");
    element.appendChild(tag);
}

    if(input_name.value !="" &&input_email.value !="" && input_password.value !="")
    {
        var tag = document.getElementById("validationmessage");
        if(!tag)return;
        var element = document.getElementById("new");
        element.removeChild(tag);
    }
<代码>.显示{显示:块}.隐藏{显示:无}
<代码><;p Class=“ Hide ” ID=“ RequiredMsg ”>;所有输入都是必需的。<;/p>;名称<;输入type=“ text ” name=“ name ” ID=“ name ”>;通过<;输入type=“ password ” name=“ pass ” ID=“ pass ”>;电子邮件<;输入type=“电子邮件” name=“电子邮件” ID=“邮件”>;<;button onclick=“ validate()”>;验证<;/button>;

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航