Jadi saya mengkode situs dengan HTML, CSS dan JS dan ada formulir di awal yang seharusnya menanyakan 2 hal: - id pengguna dan kata sandi. Seperti ini:

Gambar

Setelah itu, pada klik submit, ada <div id="newform">new form here</div> yang akan terbuka pada halaman jika user id dan password keduanya ada dalam daftar seperti berikut:

    function versubmitted (event) {
      event.preventDefault();
      var username = document.getElementById("verifyuname").value;
      var password = document.getElementById("verifypw").value;    
    for (var i = 0; i < users.length; i++) {
          if (username === users[i]) {
            if ((password === pw[i])) {
              var finaluserid = username;
            } else {
              document.getElementById("verstatus").innerHTML = "The username is correct, but the password doesnt match!";
            }
          } else {
            document.getElementById("verstatus").innerHTML = "The username does not exist!";
            //Username doesnt exist
          }
        }
}

Dan selanjutnya js seperti ini:

var users = ["QWERTY", "DVORAK"];
var pw = ["abc", "ABC"];
var notverstat = false;

if (notverstat) {
  document.getElementById("newform").innerHTML = "Please login first!";
}

Namun, itu tidak memeriksa id pengguna dan kata sandi dengan benar. Saya telah menambahkan fungsi onclick. Itu tidak menunjukkan kepada saya output yang diperlukan (itu tidak menunjukkan pesan status atau membuka formulir berikutnya).

Pada saat yang sama, saya ingin id pengguna dari formulir pertama diisi otomatis di formulir kedua, tetapi setiap kali muncul sebagai nama variabel alih-alih string yang seharusnya dipegang menggunakan fitur .value.

Juga, apakah ada cara untuk mengenkripsi array/daftar sehingga pengguna tidak dapat mengaksesnya dari konsol? Saya tidak ingin ada yang mengakses daftar id dan kata sandi pengguna ...

Terima kasih sebelumnya!

Edit: Inilah html untuk formulir:

<div>
<form method="post">
    <label for="verifyuname">User ID</label>
    <br>
    <input type="text" id="verifyuname" name="verifyname" placeholder="Login ID...">
<br>
    <label for="verifypw">Password</label>
    <br>
    <input type="text" id="verifypw" name="pwver" placeholder="Your password..">

    <input type="submit" value="Submit" onclick="versubmitted()">
    </form>
</div>

<div id="verstatus">
</div>

<div>
  <div id="verified">
  <div id="teststatus">
  <form method="post">
    <label for="fname">Name</label>
    <br>
    <input type="text" id="fname" name="firstname" placeholder="Your name..">
<br>
    <label for="uname">Username</label>
    <br>
    <input readonly type="text" id="uname" name="username" value=finaluserid> (this is what i wanted to take autofilled as user id)
<br>
  
  <h3>Problem</h3>
    <p>Find the sum of all primes lesser than 10.</p>
<br>
    <input type="text" id="ans1" name="answer1" placeholder="Your answer...">
    <input type="submit" value="Submit" onclick="submitted()">
  </form>
</div>
</div>
</div>

Div teststatus adalah untuk pengatur waktu untuk pengujian yang telah saya inisialisasi menggunakan ini:

        <script>
// Set the date we're counting down to
var countDownDate = new Date("May 10, 2021 13:58:00").getTime();

// Update the count down every 1 second
var x = setInterval(function() {

  // Get today's date and time
  var now = new Date().getTime();

  // Find the distance between now and the count down date
  var distance = countDownDate - now;

  // Time calculations for days, hours, minutes and seconds
  var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  var seconds = Math.floor((distance % (1000 * 60)) / 1000);
  if (days < 0) {
    clearInterval(x);
    document.getElementById("timer").innerHTML = "Time's up!";   
    document.getElementById("timer").innerHTML = "-";   
    document.getElementById("teststatus").innerHTML = "Time's up, so the test automatically closed!"; 
  }

  else {
        document.getElementById("timer").innerHTML = days + "d " + hours + "h "
  + minutes + "m " + seconds + "s ";      

  document.getElementById("timer2").innerHTML = days + "d " + hours + "h "
  + minutes + "m " + seconds + "s ";    
  }
  // Display the result in the element with id="demo"


  // If the count down is finished, write some text
}, 1000);
</script>

Saya harap ini cukup!

EDIT2: Adakah yang bisa membantu?

0
CoderPro1000 10 Mei 2021, 06:56

1 menjawab

Jawaban Terbaik

Perbaiki kode html:

<input type="submit" value="Submit" onclick="versubmitted(event)">
0
Mohammad Mohammadi 10 Mei 2021, 05:14