как показать таблицу при проверке информации о пользователе? - PullRequest
1 голос
/ 06 марта 2019

Я хочу написать код, который, если вы нажали кнопку, а имя пользователя и пароль были правильными.затем он показывает вам таблицу, которая содержит фотографии и ссылку на их Instagram.

, когда table тег используется внутри функции в script помечает функцию breaks , и в самом html нет функции.Так, где я должен поместить свою таблицу, которая будет показана, когда кнопка была нажата?

вот мой код:

<html>

<head>

<title>balalar</title>

<script type="text/javascript">

function check(){

var username=document.getElementById("username").value;
var password=document.getElementById("password").value;

    if(username == "user1" && password == "1234"){

        alert("hello user")

    <!--want to put the table here. but it breaks the function-->

    }


      else
      { 
        alert("chek username and password"); 
      }

  } 

</script>

</head>


<body>

<form align="center">

     username:<input type="text" name="username"     id="username" /><br>
     </br>
     password:<input type="password" name="password"     id="password"/><br>
     </br>
     <input type="button" value="login" id="login" onclick="return
     check()"/>

</form>

</body> 

</html>

вот мой стол:

<!DOCTYPE html>
<html>
<link rel=stylesheets; href="css.css">
<head>
<title>BALALAR</title>

<style>

table, th, td {

    border:5px solid black;
    border-collapse: collapse;
}

th, td {

    padding: 30px;
}

tr:nth-child(even) {
    background: pink;
}

th {
    background: gray;
}


</style>

</head>

<body>

<table align="center">
    <caption style="color: #ff99ac"> <h1>[BALALAR]</h1> </caption>


    <tr> <!--heading------------------------------------------------------------>

        <th>photo</th>
        <th>name</th>
        <th>age</th>
        <th>info</th>
        <th>instagram</th>

    </tr>

    <tr> <!--lucifer------------------------------------------------------------>

        <td> <center> <img src="https://scontent-ams3-1.cdninstagram.com/vp/17d60601e17a27d3a0196470f00c55a4/5CF8DA8C/t51.2885-15/e35/50850072_2165205533518446_3117212119304625148_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="200px"> </center> </td>
        <td> <center>lucifersexdoll</center> </td>
        <td> <center>18</center> </td>
        <td> <center>instagram star and tiktoker</center> </td>
        <td> <center> <a href="https://www.instagram.com/lucifersexdoll/?hl=en"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px"> </a> </center> </td>

    </tr>

    <tr> <!--belle delphine----------------------------------------------------->

        <td> <center> <img src="https://scontent-dfw5-1.cdninstagram.com/vp/6331b02f48e920975e98434c595fd4ee/5CE47C32/t51.2885-15/e35/41760483_210825032975228_2673466538809180596_n.jpg?_nc_ht=scontent-dfw5-1.cdninstagram.com" height="200px" width="170px"> </center> </td>
        <td> <center>belle delphine</center> </td> 
        <td> <center>19</center></td>
        <td> <center>instagram star and snapchat thot</center></td>
        <td> <center> <a href="https://www.instagram.com/belle.delphine/?hl=en"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px"> </a> </center> </td>

    </tr>

    <tr> <!--Georgia Twinn------------------------------------------------------>

        <td> <center> <img src="https://scontent-frx5-1.cdninstagram.com/vp/b4cdaabe45fd41c4d36e18c074a0cb71/5CEFBA3C/t51.2885-15/e35/43986219_288982548424250_1512646608107907870_n.jpg?_nc_ht=scontent-frx5-1.cdninstagram.com" style="transform: rotate(-90deg);" height="200px" width="200" > </center> </td>
        <td> <center>Georgia Twinn</center> </td>
        <td> <center>15</center> </td>
        <td> <center> instagram star and youtuber</center> </td>
        <td> <center> <a href="https://www.instagram.com/georgialeetwinn/"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px" > </a> </center> </td>

    </tr>

    <tr> <!--lilsaggester------------------------------------------------------->

        <td> <center> <img src="https://scontent-ams3-1.cdninstagram.com/vp/b7b351d27e76a70aed0dc97ca2946b31/5CF7E289/t51.2885-15/e35/44478694_259861178046212_7053862547100372241_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="200px" > </center> </td>
        <td> <center>hannah fabel</center> </td>
        <td> <center>16</center> </td>
        <td> <center>tiktoker</center> </td>
        <td> <center> <a href="https://www.instagram.com/aestheticallyhannah/"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px" > </a> </center> </td>

    </tr>

    <tr> <!--cyxll-------------------------------------------------------------->

        <td> <center> <img src="https://scontent-ams3-1.cdninstagram.com/vp/fe0da5e3353e102fd30a771e7f18d793/5CEA7C9B/t51.2885-15/e35/50510784_321000775215940_7823002975742791621_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="250px"> </center> </td>
        <td> <center>cyxll</center> </td>
        <td> <center>unknown</center> </td>
        <td> <center>instagram user</center> </td>
        <td> <center> <a href="https://www.instagram.com/cyxll/?hl=en"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px"> </a> </center> </td>

    </tr>

    <tr> <!--gal gadot---------------------------------------------------------->

        <td> <center><img src="https://scontent-ams3-1.cdninstagram.com/vp/85ba393e3d05f6047fea8ac9ee61edd4/5D250597/t51.2885-15/e35/40265259_229384887926581_2920908417464813508_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="200px"> </center> </td>
        <td> <center>gal gadot</center> </td>
        <td> <center>33</center> </td>
        <td> <center>actress</center> </td>
        <td> <center> <a href="https://www.instagram.com/gal_gadot/?hl=en"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px"> </a></center> </td>

    </tr>   


</table>

</body>

</html>

хочу позже поставить разные таблицы для разных пользователей.

Ответы [ 3 ]

1 голос
/ 06 марта 2019

Вы можете оставить свою таблицу в теле HTML ... и сделать #tableID {display: none;}

В JS:

function check(){
  var username=document.getElementById("username").value;
  var password=document.getElementById("password").value;
  if(username == "user1" && password == "1234"){
    alert("hello user")
    document.getElementById('tableID').style.display = 'block';
   }
  else {alert("chek username and password");}
} 

Но даже если есть слишком специфический код, когда вам нужноПоместите свой HTML в JS, вы должны экранировать все специальные символы (поиск> escape-код JavaScript)

В основном с символом \ ... иногда с [] или HTML-code

Ex.,

<td> <center> <img src="https://scontent-ams3-1.cdninstagram.com/vp/17d60601e17a27d3a0196470f00c55a4/5CF8DA8C/t51.2885-15/e35/50850072_2165205533518446_3117212119304625148_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="200px"> </center> </td>

Должен быть заменен на:

<td> <center> <img src=&quot;https:\/\/scontent-ams3-1.cdninstagram.com\/vp\/17d60601e17a27d3a0196470f00c55a4\/5CF8DA8C\/t51.2885-15\/e35\/50850072_2165205533518446_3117212119304625148_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com&quot; height=\'200px\' width=\'200px\'> <\/center> <\/td>

Вы можете попробовать такие операции здесь - - https://liveweave.com/ Он имеет удобную раскраску, которая сообщает, если естьошибка.


Ps «не могли бы вы объяснить немного больше?»:

<table id="AnyName"> ... </table>

Каждый элемент HTML может иметь уникальный идентификатор, который может быть ориентирован на JavaScript.Также, если вы выбираете классы в CSS с помощью .class {} ... ID можно выбрать с помощью #id {}.Итак, мы создаем изначально невидимую таблицу с #AnyName {display: none}

И после щелчка ... если имя пользователя и пароль совпадают - мы получаем элемент по ID и делаем его видимым:

document.getElementById('AnyName').style.display = 'block';

«Возьмите элемент с этим идентификатором и измените его стиль»
Там может быть .style.border = '1px solid red';
или .style.backgroundColor = 'red';
Но нам нужно сделать его видимым ... Итак, display = 'block';

0 голосов
/ 06 марта 2019

Я вижу, что вы покидаете таблицу и страницу входа в 2 разных html-файла. поместите его в HTML-страницу и обработайте в функции проверки ():

function check(){

var username=document.getElementById("username").value;
var password=document.getElementById("password").value;

    if(username == "user1" && password == "1234"){

        alert("hello user")

    <!--want to put the table here. but it breaks the function-->
    
    document.getElementsByTagName("table")[0].style.display = "block";
    document.getElementsByTagName("form")[0].style.display = "none";

    }


      else
      { 
        alert("chek username and password"); 
      }

  } 
<html>

<head>

<title>balalar</title>

<style>

table, th, td {

    border:5px solid black;
    border-collapse: collapse;
}

th, td {

    padding: 30px;
}

tr:nth-child(even) {
    background: pink;
}

th {
    background: gray;
}

table{
  display: none
  }
</style>

</head>


<body>

<form align="center">

     username:<input type="text" name="username"     id="username" /><br>
     </br>
     password:<input type="password" name="password"     id="password"/><br>
     </br>
     <input type="button" value="login" id="login" onclick="check()"/>

</form>


<table align="center">
    <caption style="color: #ff99ac"> <h1>[BALALAR]</h1> </caption>


    <tr> <!--heading------------------------------------------------------------>

        <th>photo</th>
        <th>name</th>
        <th>age</th>
        <th>info</th>
        <th>instagram</th>

    </tr>

    <tr> <!--lucifer------------------------------------------------------------>

        <td> <center> <img src="https://scontent-ams3-1.cdninstagram.com/vp/17d60601e17a27d3a0196470f00c55a4/5CF8DA8C/t51.2885-15/e35/50850072_2165205533518446_3117212119304625148_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="200px"> </center> </td>
        <td> <center>lucifersexdoll</center> </td>
        <td> <center>18</center> </td>
        <td> <center>instagram star and tiktoker</center> </td>
        <td> <center> <a href="https://www.instagram.com/lucifersexdoll/?hl=en"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px"> </a> </center> </td>

    </tr>

    <tr> <!--belle delphine----------------------------------------------------->

        <td> <center> <img src="https://scontent-dfw5-1.cdninstagram.com/vp/6331b02f48e920975e98434c595fd4ee/5CE47C32/t51.2885-15/e35/41760483_210825032975228_2673466538809180596_n.jpg?_nc_ht=scontent-dfw5-1.cdninstagram.com" height="200px" width="170px"> </center> </td>
        <td> <center>belle delphine</center> </td> 
        <td> <center>19</center></td>
        <td> <center>instagram star and snapchat thot</center></td>
        <td> <center> <a href="https://www.instagram.com/belle.delphine/?hl=en"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px"> </a> </center> </td>

    </tr>

    <tr> <!--Georgia Twinn------------------------------------------------------>

        <td> <center> <img src="https://scontent-frx5-1.cdninstagram.com/vp/b4cdaabe45fd41c4d36e18c074a0cb71/5CEFBA3C/t51.2885-15/e35/43986219_288982548424250_1512646608107907870_n.jpg?_nc_ht=scontent-frx5-1.cdninstagram.com" style="transform: rotate(-90deg);" height="200px" width="200" > </center> </td>
        <td> <center>Georgia Twinn</center> </td>
        <td> <center>15</center> </td>
        <td> <center> instagram star and youtuber</center> </td>
        <td> <center> <a href="https://www.instagram.com/georgialeetwinn/"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px" > </a> </center> </td>

    </tr>

    <tr> <!--lilsaggester------------------------------------------------------->

        <td> <center> <img src="https://scontent-ams3-1.cdninstagram.com/vp/b7b351d27e76a70aed0dc97ca2946b31/5CF7E289/t51.2885-15/e35/44478694_259861178046212_7053862547100372241_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="200px" > </center> </td>
        <td> <center>hannah fabel</center> </td>
        <td> <center>16</center> </td>
        <td> <center>tiktoker</center> </td>
        <td> <center> <a href="https://www.instagram.com/aestheticallyhannah/"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px" > </a> </center> </td>

    </tr>

    <tr> <!--cyxll-------------------------------------------------------------->

        <td> <center> <img src="https://scontent-ams3-1.cdninstagram.com/vp/fe0da5e3353e102fd30a771e7f18d793/5CEA7C9B/t51.2885-15/e35/50510784_321000775215940_7823002975742791621_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="250px"> </center> </td>
        <td> <center>cyxll</center> </td>
        <td> <center>unknown</center> </td>
        <td> <center>instagram user</center> </td>
        <td> <center> <a href="https://www.instagram.com/cyxll/?hl=en"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px"> </a> </center> </td>

    </tr>

    <tr> <!--gal gadot---------------------------------------------------------->

        <td> <center><img src="https://scontent-ams3-1.cdninstagram.com/vp/85ba393e3d05f6047fea8ac9ee61edd4/5D250597/t51.2885-15/e35/40265259_229384887926581_2920908417464813508_n.jpg?_nc_ht=scontent-ams3-1.cdninstagram.com" height="200px" width="200px"> </center> </td>
        <td> <center>gal gadot</center> </td>
        <td> <center>33</center> </td>
        <td> <center>actress</center> </td>
        <td> <center> <a href="https://www.instagram.com/gal_gadot/?hl=en"> <img src="https://www.edigitalagency.com.au/wp-content/uploads/new-instagram-logo-png-transparent.png" height="50px" width="50px"> </a></center> </td>

    </tr>   


</table>

</body> 

</html>

Если вы хотите отобразить только одну строку в таблице, установите для нее идентификатор и установите display: block для строки с соответствующим идентификатором

0 голосов
/ 06 марта 2019

Есть много способов достичь этого.У меня есть два для вас:

  1. решение: перенаправить на новую страницу
  2. решение: сделать Ajax-Call и заменить содержимое таблицей

Здесьнекоторый код:

function getAjax(url, success) {
    var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
    xhr.open('GET', url);
    xhr.onreadystatechange = function() {
        if (xhr.readyState>3 && xhr.status==200) success(xhr.responseText);
    };
    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    xhr.send();
    return xhr;
}

// example request
//getAjax('http://foo.bar/?p1=1&p2=Hello+World', function(data){ console.log(data); });
<html>

<head>

<title>balalar</title>

<script type="text/javascript">

function check(){

var username=document.getElementById("username").value;
var password=document.getElementById("password").value;

    if(username == "user1" && password == "1234"){

        alert("hello user")

        // 1. Solution - Redirect to another "Page"
        window.location.href = "/table.html?username="+username;
        
        // 2. Solution - do an Ajax Call and render response
        getAjax("/table.html?username="+username, function(response){
          // replace body with new content ("table")
          document.getElementsByTagName('body')[0].innerHTML = response; 
        });
        
        
    }


      else
      { 
        alert("chek username and password"); 
      }

  } 

</script>

</head>


<body>

<form align="center">

     username:<input type="text" name="username"     id="username" /><br>
     </br>
     password:<input type="password" name="password"     id="password"/><br>
     </br>
     <input type="button" value="login" id="login" onclick="return
     check()"/>

</form>

</body> 

</html>

для обоих примеров вам нужен файл с именем table.html с содержимым таблицы рядом с вашим index.html

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