kzen.dev
  • Întrebări
  • Tag-uri
  • Utilizatori
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
Keith Donegan
Keith Donegan
Question

Verificați dacă intrările sunt goale folosind jQuery

Am o forma pe care am dori ca toate câmpurile să fie completate. Dacă un câmp este apăsat și apoi completat, aș dori pentru a afișa un fundal roșu.

Aici este codul meu:

$('#apply-form input').blur(function () {
  if ($('input:text').is(":empty")) {
    $(this).parents('p').addClass('warning');
  }
});

Acesta se aplică la avertizare clasa, indiferent de domeniu fiind completat sau nu.

Ce fac gresit?

473 2009-12-06T06:34:25+00:00 17
Danil Speransky
Danil Speransky
Întrebarea editată 1 septembrie 2012 в 11:14
Programare
jquery
validation
Solution / Answer
meder omuraliev
meder omuraliev
6 decembrie 2009 в 6:37
2009-12-06T06:37:14+00:00
Mai mult
Sursă
Editează
#9778639
$('#apply-form input').blur(function()
{
    if( !$(this).val() ) {
          $(this).parents('p').addClass('warning');
    }
});

Și tu nu't neapărat nevoie.lungimea sau vezi daca's >0 deoarece un șir gol evaluează la false, oricum, dar dacă te'd place să pentru lizibilitate scopuri:

$('#apply-form input').blur(function()
{
    if( $(this).val().length === 0 ) {
        $(this).parents('p').addClass('warning');
    }
});

Daca're sigur că va funcționa întotdeauna pe un textfield element atunci puteți folosi doar asta.valoarea`.

$('#apply-form input').blur(function()
{
      if( !this.value ) {
            $(this).parents('p').addClass('warning');
      }
});

De asemenea, ar trebui să ia act de faptul că $('intrare:text') apucă de mai multe elemente, specificați un context sau de a folosi "această" cheie dacă vrei doar o referire la un singur element (cu condiția să nu's un textfield în contextul's descendenții/copii).

Paul Roub
Paul Roub
Răspuns editat 9 ianuarie 2017 в 6:42
726
0
Alex Sexton
Alex Sexton
6 decembrie 2009 в 6:51
2009-12-06T06:51:18+00:00
Mai mult
Sursă
Editează
#9778643

Toată lumea are dreptate, dar îmi place să fiu un pic mai explicit și tăiați valori.

$('#apply-form input').blur(function() {
     if(!$.trim(this.value).length) { // zero-length string AFTER a trim
            $(this).parents('p').addClass('warning');
     }
});

dacă nu folosiți .lungime , apoi o intrare de '0' poate fi catalogat ca prost, și o intrare de 5 spații ar putea fi marcat ca bine fără $.trim . Cel mai bun de Noroc.

149
0
 drewdeal
drewdeal
21 iulie 2011 в 7:21
2011-07-21T19:21:53+00:00
Mai mult
Sursă
Editează
#9778665

O faci pe blur este prea limitat. Se presupune că a existat accent pe forma de teren, așa că am prefera să-l facă pe submit, și harta prin intrare. După ani de zile de-a face cu lux de estompare, concentra, etc. trucuri, păstrând lucrurile simple va aduce mai mult gradul de utilizare în cazul în care contează.

$('#signupform').submit(function() {
    var errors = 0;
    $("#signupform :input").map(function(){
         if( !$(this).val() ) {
              $(this).parents('td').addClass('warning');
              errors++;
        } else if ($(this).val()) {
              $(this).parents('td').removeClass('warning');
        }   
    });
    if(errors > 0){
        $('#errorwarn').text("All fields are required");
        return false;
    }
    // do the ajax..    
});
32
0
 Graviton
Graviton
6 decembrie 2009 в 6:37
2009-12-06T06:37:48+00:00
Mai mult
Sursă
Editează
#9778640
if ($('input:text').val().length == 0) {
      $(this).parents('p').addClass('warning');
}
 Graviton
Graviton
Răspuns editat 6 decembrie 2009 в 6:51
19
0
 Zigri2612
Zigri2612
17 mai 2016 в 6:33
2016-05-17T06:33:50+00:00
Mai mult
Sursă
Editează
#9778729

puteți folosi, de asemenea,..

$('#apply-form input').blur(function()
{
    if( $(this).val() == '' ) {
          $(this).parents('p').addClass('warning');
    }
});

dacă aveți dubii despre spații,apoi încercați..

$('#apply-form input').blur(function()
{
    if( $(this).val().trim() == '' ) {
          $(this).parents('p').addClass('warning');
    }
});
15
0
Jamie Pate
Jamie Pate
30 noiembrie 2012 в 4:58
2012-11-30T04:58:51+00:00
Mai mult
Sursă
Editează
#9778681

cum de nimeni nu a menționat

$(this).filter('[value=]').addClass('warning');

pare mai jquery-ca să-mi

8
0
Ouss Ama
Ouss Ama
29 septembrie 2017 в 5:24
2017-09-29T17:24:42+00:00
Mai mult
Sursă
Editează
#9778737

La evenimentul keyup va detecta daca utilizatorul a șters cutie la fel de bine (de exemplu, backspace ridică la eveniment, dar backspace nu ridica apăsare de tastă eveniment în IE)

    $("#inputname").keyup(function() {

if (!this.value) {
    alert('The box is empty');
}});
5
0
Dave Ward
Dave Ward
6 decembrie 2009 в 6:49
2009-12-06T06:49:26+00:00
Mai mult
Sursă
Editează
#9778642

Luați în considerare utilizarea jQuery validare plugin în loc. Acesta poate fi ușor exagerat pentru simplu câmpurile obligatorii, dar suficient de mature care se ocupă de cazuri de margine ai't chiar gândit încă (și nici nu ar fi de noi, până când ne-am întâlnit cu ei).

Puteți eticheta câmpurile necesare cu o clasă de "necesar", a alerga o $('forma').valida() in $(document).gata (de) și că's e nevoie.

L's chiar găzduit pe Microsoft CDN prea, pentru livrare rapidă: http://www.asp.net/ajaxlibrary/CDN.ashx

4
0
 Vanilla
Vanilla
25 septembrie 2015 в 4:54
2015-09-25T04:54:00+00:00
Mai mult
Sursă
Editează
#9778722
function checkForm() {
  return $('input[type=text]').filter(function () {
    return $(this).val().length === 0;
  }).length;
}
3
0
 xorinzor
xorinzor
12 iunie 2011 в 10:53
2011-06-12T10:53:36+00:00
Mai mult
Sursă
Editează
#9778655

Există un alt lucru pe care ați putea dori să se gândească, în Prezent, se poate adăuga numai la avertizare clasă cazul în care este gol, cum despre eliminarea clasei din nou atunci când formularul nu este gol deloc.

astfel:

$('#apply-form input').blur(function()
{
    if( !$(this).val() ) {
          $(this).parents('p').addClass('warning');
    } else if ($(this).val()) {
          $(this).parents('p').removeClass('warning');
    }
});
3
0
 CMS
CMS
6 decembrie 2009 в 6:38
2009-12-06T06:38:55+00:00
Mai mult
Sursă
Editează
#9778641

A :empty pseudo-selector este folosit pentru a vedea dacă un element conține niciun copil, ar trebui să verificați valoarea :

$('#apply-form input').blur(function() {
     if(!this.value) { // zero-length string
            $(this).parents('p').addClass('warning');
     }
});
3
0
Frankie Loscavio
Frankie Loscavio
30 iulie 2014 в 6:51
2014-07-30T18:51:54+00:00
Mai mult
Sursă
Editează
#9778710

Aici este un exemplu folosind keyup de intrare selectat. Se foloseste o garnitura la fel de bine să vă asigurați că o secvență de doar un spațiu alb de caractere nu't declanșa un răspuns sinceră. Acesta este un exemplu care poate fi folosit pentru a începe o căutare cutie sau ceva legat de acest tip de funcționalitate.

YourObjNameSpace.yourJqueryInputElement.keyup(function (e){
   if($.trim($(this).val())){
       // trimmed value is truthy meaning real characters are entered
    }else{
       // trimmed value is falsey meaning empty input excluding just whitespace characters
    }
}
2
0
 Mauro
Mauro
15 aprilie 2015 в 2:01
2015-04-15T14:01:52+00:00
Mai mult
Sursă
Editează
#9778716
$(function() {
  var fields = $('#search_form').serializeArray();
  is_blank = true;
  for (var i = 0; i < fields.length; i++) {
    // excluded fields
    if ((fields[i].name != "locale") && (fields[i].name != "utf8")) {
      if (fields[i].value) {
        is_blank = false;
      }
    }
  }
  if (is_blank) {
    $('#filters-button').append(': OFF');
  }
  else {
    $('#filters-button').append(': ON');
  }
});

Verificați dacă toate câmpurile sunt goale și adăugați ON sau OFF pe Filter_button

2
0
Konstantin Kalbazov
Konstantin Kalbazov
31 ianuarie 2011 в 2:35
2011-01-31T14:35:08+00:00
Mai mult
Sursă
Editează
#9778651

Poti incerca ceva de genul asta:

$('#apply-form input[value!=""]').blur(function() {
    $(this).parents('p').addClass('warning');
});

Se va aplica .blur() eveniment numai pentru intrări cu valorile goale.

1
0
Mark  Carpenter Jr
Mark Carpenter Jr
8 februarie 2019 в 4:51
2019-02-08T16:51:12+00:00
Mai mult
Sursă
Editează
#9778743

Mare colecție de răspunsuri, ar dori să adaug că, de asemenea, puteți face acest lucru folosind :substituent-a arătat selector CSS. Un pic mai curat pentru a utiliza OMI, mai ales daca're deja folosind jQ și au substituenți pe intrări dumneavoastră.

if ($('input#cust-descrip').is(':placeholder-shown')) {
  console.log('Empty');
}

$('input#cust-descrip').on('blur', '', function(ev) {
  if (!$('input#cust-descrip').is(':placeholder-shown')) {
    console.log('Has Text!');
  }
  else {
    console.log('Empty!');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="text" class="form-control" id="cust-descrip" autocomplete="off" placeholder="Description">

De asemenea, puteți face uz de :valid "și": invalid selectoare dacă aveți intrări care sunt necesare. Puteți folosi aceste selectoare dacă utilizați atributul necesar, pe o intrare.

0
0
 Maher
Maher
16 august 2012 в 11:29
2012-08-16T11:29:46+00:00
Mai mult
Sursă
Editează
#9778670
<script type="text/javascript">
$('input:text, input:password, textarea').blur(function()
    {
          var check = $(this).val();
          if(check == '')
          {
                $(this).parent().addClass('ym-error');
          }
          else
          {
                $(this).parent().removeClass('ym-error');  
          }
    });
 </script>// :)
0
0
 Atlantiz
Atlantiz
30 ianuarie 2014 в 3:11
2014-01-30T03:11:24+00:00
Mai mult
Sursă
Editează
#9778698

Cu HTML 5 putem folosi o caracteristică nouă "necesar" trebuie doar să adăugați-l la eticheta pe care doriți să fie necesar ca:

<input tip=&#39;text&#39; este necesar>

0
0
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
Utilizatori
Toate
Nou
Populare
1
工藤 芳則
Înregistrat 6 zile în urmă
2
Ирина Беляева
Înregistrat 1 săptămână în urmă
3
Darya Arsenyeva
Înregistrat 1 săptămână în urmă
4
anyta nuam-nuam (LapuSiK)
Înregistrat 1 săptămână în urmă
5
Shuhratjon Imomkulov
Înregistrat 1 săptămână în urmă
BG
CS
DA
DE
EL
ES
FR
ID
IT
JA
KO
LV
NL
NO
PT
RO
RU
TR
ZH
© kzen.dev 2023
Sursă
stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire