Próbuję pokazać nieprawidłową informację zwrotną, gdy dane są puste, kiedy używam tego kodu poniżej i próbuję opróżnić pole, to działa, ale tekst nieprawidłowej informacji zwrotnej nadal pokazuje, że znika, gdy jestem ponownie kliknięty raz .

<script type="text/javascript">

    $('#nama').blur(function() {
    if( $(this).val() != '' ) {
          $('#invalid-nama').css("display", "none");
    }else{
    $('#invalid-nama').css("display", "unset");
    }
});
</script> 

A następnie próbuję umieścić && $ (this) .keypress (function ()) w IF, gdy użytkownik pisze, ale nie działa

<script type="text/javascript">

    $('#nama').blur(function() {
    if( $(this).val() != '' && $(this).keypress(function()) ) {
          $('#invalid-nama').css("display", "none");
    }else{
    $('#invalid-nama').css("display", "unset");
    }
});
</script> 

Więc problem polega na tym, jak wyświetlić nieprawidłowe informacje zwrotne, gdy dane są puste, a nieprawidłowe informacje znikają po wpisaniu w polu, dziękuję

0
Didik Ariyana 20 listopad 2019, 04:44
$(this).keypress(function()) )... nie jest czymś, co byś ustawił w warunku. Dodaj WSZYSTKI odpowiedni kod (HTML i CSS) do swojego pytania, abyśmy mogli odtworzyć Twój problem i uzyskać działającą odpowiedź.
 – 
Scott Marcus
20 listopad 2019, 05:00

2 odpowiedzi

function errorMessageDisplay(){
  if($("#input").val() ==''){
    $("#errorMessage").text("Error").show();
  }else{
    $("#errorMessage").text("").hide();
  }
}

$("#input").blur(function(){
  errorMessageDisplay();
}).keyup(function(){
  errorMessageDisplay();
  });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="input" type="text" />
<div id="errorMessage" style="color: red"></div>
0
BeiBei ZHU 20 listopad 2019, 05:07
BTW, nie używaj klawisza, naciśnięcie klawisza będzie miało problem z pierwszym znakiem podczas walidacji.
 – 
BeiBei ZHU
20 listopad 2019, 05:11
    <script>
        $(document).ready(function() {
            $('#nama').keyup(function() {
                if( $(this).val() != '') {
                      $('#invalid-nama').css("display", "none");
                }else{
                $('#invalid-nama').css("display", "unset");
                }
            });
        });
    </script> 
    <style type="text/css">
        #invalid-nama {
            display: none;
        }
    </style>
    <form>
    <input type="text" id ="nama">
    <div id ="invalid-nama">Invalid</div>
    </form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
0
Santosh Aryal 20 listopad 2019, 05:24