2015-11-17 2 views
0

Нужна помощь, если можете. Я пытаюсь создать форму пароля для своего тестового веб-сайта, где вы просто получите окно с паролем на первой странице.HTML-код пароля, если/если он перенаправлен

Так я построил это:

<div class="inputcontent"> 
    <input type="password" id="password"> 
</div> 
<div class="buttons"> 
    <input type="submit" style="display: none" .click()="myFunction"> 
</div> 

<script> 
    function myFunction() { 
     var passwd = document.getElementById('password').value; 
      if(passwd == 'passwordhere'){ 
       window.location.href="home.html".fadeOut(1000); 
      } 
    } 
</script> 

Очевидно, это не работает, и это так же может быть совершенно неправильно. Любой указатель на то, что я могу исправить, или если он полностью мусор, как мне его строить?

Заранее спасибо.

UPDATE

Успели сделать его работу с помощью этого:

<form style="margin-top: 20%;margin-left: 40%" 
onsubmit="return check();" action="home.html" > 
    <div class="inputcontent"> 
     <input type="password" id="password" /> 
    </div> 
    <div class="buttons"> 
     <input type="submit" style="display: none"/> 
    </div> 
</form> 

<script> 
    function check(){ 
     var passwd = document.getElementById("password").value; 
      if (passwd == "melon"){ 
      return true; 
      } else { 
      return false; 
      } 
    } 
</script> 

Благодаря @Xenon для всей вашей помощи.

+0

Добро пожаловать в StackOverflow. – www139

+0

@ www139 Спасибо. – kolpo

+0

Имейте в виду, что любой может просмотреть источник, чтобы получить пароль. – SilverlightFox

ответ

2

Вот проблема:

кнопку отправки был разработан для использования в HTML-форме. Поскольку у вас есть это, связь между полем пароля и кнопкой отправки отсутствует, и что более важно, NO <form>.

Попробуйте вместо этого:

<form onsubmit="myFunction();" action="home.html"> 
<div class="inputcontent"> 
    <input type="password" id="password" /> 
</div> 
<div class="buttons"> 
    <input type="submit" style="display: none" onclick="myFunction()" /> 
</div> 
</form> 
<script> 
function myFunction(event) { 
var passwd = document.getElementById('password').value; 
if(passwd == 'password here'){ 
    // Do Nothing  

    // Onsubmit stops the form from switching the page to `action` (attribute on form) 
    // But once the function exits, it goes to the page 
    // If <form action=""> or `action` is not specified, then it will reload the current page (you might see a question mark), that's just the GET parameter 

    // If your password is right, then we do NOT prevent the default action from occurring, 
    // So you go to home.html 
} else { 
    // Makes sure you DONT go to home.html if your password is wrong 
    event.preventDefault(); 
    event.stopPropagation(); 
} 
} 
</script> 
+0

Я имел в виду, что кнопка не видна. Как по onclick, я пробовал, прежде чем не работал. Повторялся с вашим кодом, и не было надежды. – kolpo

+0

@raziel: Теперь он должен работать. – Xenon

+0

Все еще не работает. И я не понимаю, это выглядит совершенно правильно. – kolpo