Контейнер Div не очищается при нажатии кнопки - PullRequest
0 голосов
/ 07 августа 2020

Я создаю образец проекта теннисного клуба в Javascript, HTML, CSS, Bootstrap. В этом проекте у меня есть страница входа (index. html), страница управления игроком , теперь на этой странице управления игроком у меня есть две кнопки добавить игроков и показать игроков . При нажатии кнопки показать игроков , я хочу показать данные в таблице, но проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю кнопку несколько раз, она продолжает генерировать таблицы ниже одной после другой без очистки предыдущей таблицы.

Ниже приведены файлы кода и снимки экрана

managePlayers. html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Manage Players</title>

    <!-- ADDING FONT AWESOME CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">

    <!-- ADDING BOOTSTRAP CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"
        integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">

    <!-- ADDING STYLE.CSS -->
    <link rel="stylesheet" href="/css/style.css">

</head>

<body>

    <!-- ADDING BUTTONS LIKE SHOW PLAYERS, ADD PLAYERS USING CSS BOOTSTRAP -->
    <button type="button" class="btn btn-secondary showplayers" onclick="showplayers();">Show Players</button>
    <button type="button" class="btn btn-secondary addplayers">Add Players</button>

    <!-- ADDING BOOTSTRAP JS -->
    <!-- JS, Popper.js, and jQuery -->
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
        integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
        crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
        integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
        crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"
        integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI"
        crossorigin="anonymous"></script>

    <!-- ADDING INDEX.JS -->
    <script src="/js/sidebar.js"></script>
    <script src="/js/index.js"></script>

</body>

</html>

index . js

// --------------TESTING CODE FOR LOGIN PAGE LOGIN BUTTON CLICK----------------


var email, password;
document.querySelector(".loginbtn").addEventListener("click", (e) => {
    email = document.querySelector(".email").value;
    password = document.querySelector(".password").value;

    document.querySelector(".labelemailerror").innerHTML = "";
    document.querySelector(".labelpassworderror").innerHTML = "";

    // ------------TESTING CODE FOR CHECKING VALIDATION AND PRINTING ERROR ON LABELS IF ANY-------------

    if (email === "admin@wimbledon.com" && password === "rogerfederer") {
        console.log("Login successfull....");
        window.open("profile.html");
    }
    else if (email === "" && password === "") {

        document.querySelector(".labelpassworderror").innerHTML = "Email and Password cannot be blank"
    }
    else if (email === "") {

        document.querySelector(".labelemailerror").innerHTML = "Email cannot be blank";
    }
    else if (password === "") {

        document.querySelector(".labelpassworderror").innerHTML = "Password cannot be blank"
    }
    else {

        document.querySelector(".labelpassworderror").innerHTML = "Invalid Email or Password";
    }

    console.log(email, password);
    e.preventDefault();
});





//------------------------------------MANAGE PLAYERS----------------------------------


function showplayers() {
    console.log("show players clicked.....");

    //----------TESTING CODE FOR CREATING WRAPPER FOR BOOTSTRAP TABLE FOR RESPONSIVENESS--------

    var myDiv = document.createElement("div");
    myDiv.className = "table-responsive";
    myDiv.id="table-responsive";
    document.body.appendChild(myDiv); 

    const myNode = document.getElementById("table-responsive");
    myNode.innerHTML="";

    

    //-----------TESTING CODE FOR CREATING BOOTSTRAP DYNAMIC TABLE USING JAVASCRIPT-------------

    var myTable = document.createElement("table");
    myTable.style.marginTop = "2%";
    myTable.className = "table";
    myTable.id="table";
    document.body.appendChild(myDiv).appendChild(myTable);



    var myThead = document.createElement("thead");
    document.body.appendChild(myDiv).appendChild(myTable).appendChild(myThead);

    var myTr = document.createElement("tr");
    document.body.appendChild(myDiv).appendChild(myTable).appendChild(myThead).appendChild(myTr);

    var myThID = document.createElement("th");
    myThID.scope = "col";
    myThID.innerHTML = "ID";
    document.body.appendChild(myDiv).appendChild(myTable).appendChild(myThead).appendChild(myTr).appendChild(myThID);

    var myThName = document.createElement("th");
    myThName.scope = "col";
    myThName.innerHTML = "Name";
    document.body.appendChild(myDiv).appendChild(myTable).appendChild(myThead).appendChild(myTr).appendChild(myThName);

    var myThGender = document.createElement("th");
    myThGender.scope = "col";
    myThGender.innerHTML = "Gender";
    document.body.appendChild(myDiv).appendChild(myTable).appendChild(myThead).appendChild(myTr).appendChild(myThGender);

    var mySubscription = document.createElement("th");
    mySubscription.scope = "col";
    mySubscription.innerHTML = "Subscription";
    document.body.appendChild(myDiv).appendChild(myTable).appendChild(myThead).appendChild(myTr).appendChild(mySubscription);

    var myfeeStatus = document.createElement("th");
    myfeeStatus.scope = "col";
    myfeeStatus.innerHTML = "Fee Status";
    document.body.appendChild(myDiv).appendChild(myTable).appendChild(myThead).appendChild(myTr).appendChild(myfeeStatus);

}

function addplayers() {
    console.log("add players clicked.....")
}

Скриншоты

Login Page

managePlayers.html

managePlayers. html

Любое решение, пожалуйста?

1 Ответ

1 голос
/ 07 августа 2020

Я не изучал код, но вы можете сделать это, чтобы избежать этого. Вы можете создать логическую переменную и присвоить true, когда кто-то нажимает кнопку, и вы должны написать условие if, чтобы проверять, только ли эта переменная не является 't true, тогда вы должны создать таблицу. Код будет выглядеть примерно так: var istableCreated = false; Если (istableCreated == false) {

istableCreated = true; // создаем таблицу

}

`

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...