¿Es esta una buena manera de verificar si el valor de un campo es nulo?jQuery: comprobar si el valor de un campo es nulo (vacío)
if($('#person_data[document_type]').value() != 'NULL'){}
¿O hay una manera mejor?
¿Es esta una buena manera de verificar si el valor de un campo es nulo?jQuery: comprobar si el valor de un campo es nulo (vacío)
if($('#person_data[document_type]').value() != 'NULL'){}
¿O hay una manera mejor?
El valor de un campo no puede ser nulo, siempre es un valor de cadena.
El código verificará si el valor de la cadena es la cadena "NULL". ¿Quieres comprobar si se trata de una cadena vacía en su lugar:
if ($('#person_data[document_type]').val() != ''){}
o:
if ($('#person_data[document_type]').val().length != 0){}
Si desea comprobar si el elemento existe en absoluto, debe hacerlo antes de llamar val
:
var $d = $('#person_data[document_type]');
if ($d.length != 0) {
if ($d.val().length != 0) {...}
}
'El valor de un campo no puede ser nulo, siempre es un valor de cadena. Esto no es del todo cierto. Tengo un 'seleccionar' que no contiene' opciones'. Cuando realizo '.val()' en este, devuelve 'null'. Jquery 1.7.2 – Liam
@Liam: Sí, tienes razón, esa parece ser la excepción. – Guffa
¿Se ha resuelto esta excepción en las versiones más recientes? –
jquery proporciona la función val()
y not value()
. Puede comprobar cadena vacía usando jQuery
if($('#person_data[document_type]').val() != ''){}
También me recortar el campo de entrada, causar un espacio podría hacer que parezca lleno
if ($.trim($('#person_data[document_type]').val()) != '')
{
}
perfecto, es trabajo para mí :) –
Suponiendo
var val = $('#person_data[document_type]').value();
tiene estos casos :
val === 'NULL'; // actual value is a string with content "NULL"
val === ''; // actual value is an empty string
val === null; // actual value is null (absence of any value)
Entonces, usa lo que necesitas.
que depende de qué tipo de información que está pasando a la condición ..
veces su resultado será null
o undefined
o ''
o 0
, para mi sencilla validación utilizo este caso.
($('#id').val() == '0' || $('#id').val() == '' || $('#id').val() == 'undefined' || $('#id').val() == null)
NOTA: null
= 'null'
_helpers: {
//Check is string null or empty
isStringNullOrEmpty: function (val) {
switch (val) {
case "":
case 0:
case "0":
case null:
case false:
case undefined:
case typeof this === 'undefined':
return true;
default: return false;
}
},
//Check is string null or whitespace
isStringNullOrWhiteSpace: function (val) {
return this.isStringNullOrEmpty(val) || val.replace(/\s/g, "") === '';
},
//If string is null or empty then return Null or else original value
nullIfStringNullOrEmpty: function (val) {
if (this.isStringNullOrEmpty(val)) {
return null;
}
return val;
}
},
utilizar esta ayudantes para lograrlo.
¿Qué tipo de elemento es #person_data? y que consideras como un valor NULO? –