Uncaught TypeError: Cannot read property 'match' de undefined
avec ce morceau de jQuery-je vérifier si certains champs sont match ou ne sont pas vides, mais j'ai cette erreur.
Uncaught TypeError: Cannot read property 'match' de undefined
Quelqu'un peut me dire ce que je fais de mal ici?
if ( width.match( /^\d+$/ ) && height.match( /^\d+$/ ) && type.length > 0 && color.length > 0 ) {
C'est le code complet:
if( $( "#config" ) ) {
$( 'input, select' ).on( 'change', function(){
var width = $( "#config-steps #width" ).val();
var height = $( "#config-steps #height" ).val();
var type = $( "#config-steps #type" ).val();
var color = $( "#config-steps #selected-color" ).val();
if ( width.match( /^\d+$/ ) && height.match( /^\d+$/ ) && type.length > 0 && color.length > 0 ) {
$( "#checkout-message" ).show();
//Change visible price
$( "#change-price" ).html( calculate_price().toFixed( 2 ) );
} else {
return false;
}
});
}
Essayez de supprimer les espaces d'après vos déclarations de variables.
Un ou plusieurs de vos variables ne sont pas définies. Êtes-vous sûr que votre sélecteurs sont bonnes?
Oh ok. Comment puis-je vérifier la bonne façon?
Cela signifie
Un ou plusieurs de vos variables ne sont pas définies. Êtes-vous sûr que votre sélecteurs sont bonnes?
if( $( "#config" ) )
est toujours vrai avec jQuery!Oh ok. Comment puis-je vérifier la bonne façon?
Cela signifie
#width
ou #height
ou les deux n'ont pas été trouvée ou n'êtes pas un descendant de #config-steps
.
OriginalL'auteur Robbert | 2014-04-28
Vous devez vous connecter pour publier un commentaire.
est toujours vrai avec jQuery depuis jQuery retourne un objet et les objets sont truthy. Le chèque doit être la vérification de la longueur qui sera de retour un numéro et le zéro est faux.
Maintenant, quand jQuery ne pas trouver un élément, que val() retournera pas défini, de sorte qu'il n'est pas de trouver l'élément.
OriginalL'auteur epascarello