код выполняется, даже если условие не выполняется - PullRequest
0 голосов
/ 26 февраля 2020

я создал код для проверки уникального идентификатора, который должен быть не менее 4 символов, не менее 1 символа нижнего регистра и не менее 1 числа

Это ввод css кода

<style>

.valid {
  color: green;
}
.invalid {
  color: red;
}
.button {
  display: inline-block;
  padding: 15px 25px;
  font-size: 24px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  outline: none;
  color: #fff;
  background-color: #4CAF50;
  border: none;
  border-radius: 15px;
  box-shadow: 0 9px #999;
}

.button:hover {background-color: #3e8e41}

.button:active {
  background-color: #3e8e41;
  box-shadow: 0 5px #666;
  transform: translateY(4px);
}
#grad {
  background-image: linear-gradient(to top right, #33ccff 10%, #ff99cc 100%);
}
</style>

код

<input type="button" class="button"  value="Save" onclick="save_user();" autocomplete="on" />

это код сценария

<script>

  var tblUsers = document.getElementById('tbl_users_list');
  var databaseRef = firebase.database().ref('users/');
  var rowIndex = 1;
  var uid;
  var childKey;
  var childData;

  databaseRef.once('value', function(snapshot) {
    snapshot.forEach(function(childSnapshot) {
    childSnapshot.key;
    childSnapshot.val();

   var row = tblUsers.insertRow(rowIndex);
   var cellId = row.insertCell(0);
   var cellName = row.insertCell(1);
   cellId.appendChild(document.createTextNode(childKey));
   cellName.appendChild(document.createTextNode(childData.user_name));
   cellName.appendChild(document.createTextNode(childData.user_name2));

   rowIndex = rowIndex + 1;


    });
  });



function check()
{


 var myInput = document.getElementById("user_name2");
  var letter = document.getElementById("letter");

  var number = document.getElementById("number");
  var length = document.getElementById("length");

  // When the user clicks on the password field, show the message box
  myInput.onfocus = function() {
    document.getElementById("message").style.display = "block";
  }

  // When the user clicks outside of the password field, hide the message box
  myInput.onblur = function() {
    document.getElementById("message").style.display = "none";
  }

  // When the user starts to type something inside the password field
  myInput.onkeyup = function() {
    // Validate lowercase letters
    var lowerCaseLetters = /[a-z]/g;
    if(myInput.value.match(lowerCaseLetters)) {  
      letter.classList.remove("invalid");
      letter.classList.add("valid");
    } else {
      letter.classList.remove("valid");
      letter.classList.add("invalid");
    }



    // Validate numbers
    var numbers = /[0-9]/g;
    if(myInput.value.match(numbers)) {  
      number.classList.remove("invalid");
      number.classList.add("valid");
    } else {
      number.classList.remove("valid");
      number.classList.add("invalid");
    }

    // Validate length
    if(myInput.value.length >= 4) {
      length.classList.remove("invalid");
      length.classList.add("valid");
    } else {
      length.classList.remove("valid");
      length.classList.add("invalid");
    }
  }




return true;



}










if(check())
{

  function save_user(){

var user_name = document.getElementById('user_name').value;
   var user_name2 = document.getElementById('user_name2').value;

   uid = firebase.database().ref().child('users').push().key;

   var data = {
    user_id: uid,
    user_name: user_name,
    password: user_name2
   }

   var updates = {};
   updates['/users/' + uid] = data;
   firebase.database().ref().update(updates);

   alert('The user is created successfully!');
   reload_page();

   document.writeln(uid);


  }
}
else{
  alert('condition not satisfied');
}
  function update_user(){
   var user_name = document.getElementById('user_name').value;
   var user_id = document.getElementById('user_id').value;

   var data = {
    user_id: user_id,
    user_name: user_name
   }

   var updates = {};
   updates['/users/' + user_id] = data;
   firebase.database().ref().update(updates);

   alert('The user is updated successfully!');

   reload_page();
  }

процесс проверки находится в функции check ()

и функция возвращается true

в основном файле сценария должно выполняться только в том случае, если функция check () имеет значение true, но исключает даже то, что это не так

все, что я хочу из этого кода, - это то, что значение должно загружаться в база данных, только когда функция check () имеет значение true какие изменения я должен внести в этот код?

1 Ответ

0 голосов
/ 26 февраля 2020

У вас есть return true в конце. Таким образом, он возвращает истинное значение. Поэтому, когда проверяется if(check()), оно получает истинное значение. Тот же результат может быть достигнут с помощью более простого кода.

Ваша функция save_user() не вызывается при нажатии кнопки отправки. Это внутри if условия.

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