Я пытаюсь объединить этот код JavaScript?

0

Итак, я пытаюсь защитить паролем кнопку, которая показывает некоторый текст на моем веб-сайте. Вот код для скрипта защиты паролем, который у меня есть.

<SCRIPT>
  function passWord() {
    var testV = 1;
    var pass1 = prompt('Enter The Code On Your Card Here.',' ');
    while (testV < 3) {
      if (!pass1)
        history.go(-1);
      if (pass1.toLowerCase() == "abc123") {
        window.open('card1e.html');
        break;
      }
      testV+=1;
      var pass1 =
      prompt('Access Denied - Password Incorrect, Please Try Again.','Password');
    }
    if (pass1.toLowerCase()!="password" & testV ==3)
      history.go(-1);
    return " ";
  }
</SCRIPT>
<CENTER>
  <FORM>
    <input type="button" value="Have This Card? Click Here!" onClick="passWord()">
  </FORM>
</CENTER>

Я использую сценарий show/hide:

<script>
  <a href="javascript:hideshow(document.getElementById('adiv'))">Click here</a>

  <script type="text/javascript">
  function hideshow(which){
    if (!document.getElementById)
      return
    if (which.style.display=="block")
      which.style.display="none"
    else
      which.style.display="block"
  }
</script>

<div id="adiv" style="font:24px bold; display: block">Now you see me</div>

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

Теги:
passwords
password-protection
show-hide

1 ответ

0
Лучший ответ

Это должно работать

<!DOCTYPE html>
<html>
<head>
<SCRIPT>

    // Show Div if its hidden
    function showdiv(){

        // get the div   
        which = document.getElementById('adiv');

        // show hide
        if (!which)
            return
        else if (which.style.visibility=="hidden")
            which.style.visibility="visible";

    }

    // Test User Credentials
    function passWord(){

        var testV = 1;      
        var pass1 = prompt('Enter The Code On Your Card Here.');        // no need to give a space here
        while (testV < 3) {
            if (!pass1)
                history.go(-1);
            if (pass1.toLowerCase() == "abc123") {
                showdiv()  
                alert("Redirecting in 3 secs...")
                window.setTimeout(redirect,3000);       //wait for 3 secs then redirect to card1.html                       
                break;
            }
            testV+=1;
            var pass1 = prompt('Access Denied - Password Incorrect, Please Try Again.',"password");
        }
        if (pass1.toLowerCase()!="password" & testV ==3)
        history.go(-1);
        return " ";
    }

    function redirect(){

        window.open('card1e.html');

    }

</SCRIPT>
</head>
<body>
<div id="adiv" style="font:24px bold; visibility:hidden">Now you see me</div>
<CENTER>
<input type="button" value="Click to enter credentials toe see the text block" onClick="passWord()">  
</CENTER>
</body>
  • 0
    Изменения в вашем коде: 1. то, что вы делали, используя block я сделал с visibility 2. Слил код так, как вам нужно 3. Добавил функцию JS Time out, поскольку я не был уверен, что вы хотите сделать в своем коде. Это даст конечному пользователю 3 секунды, чтобы прочитать текст перед перенаправлением на card1.html возможно, просто текст на card1.html ? ваш лучший судья
  • 0
    Спасибо вам большое! Я пытался понять это часами, и теперь я наконец могу это сделать. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню