Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check an input with jQuery.contains()

I want to validate a form with jQuery. So I need to check if an input field ("#validatename") does not contain few words, like 'United States of America', 'United Kingdom' or 'France' for instance.

To forbidden 'United States of America" (I'll see later for an array with all forbidden strings!), I have...

$("#validatename").keyup(function()
{
 var name = $("#validatename").val();
 if(name != '')
 {
   if ($('#validatename:contains("United States of America")').length > 0) // http://stackoverflow.com/questions/902597/jquery-checking-to-see-if-div-contains-text-then-action
   {
    $("#validatename").css({
    "background-image": "url('no.png')"
    });
   }
   else
   {
    $("#validlastname").css({
    "background-image": "url('yes.png')"
    });
   }
 }
}

... But it doesn't work: yes.png is always displaying!

Any help or idea will be greatly appreciated!

Thanks a lot.

like image 440
Vincent Avatar asked Jan 30 '11 16:01

Vincent


Video Answer


2 Answers

try

$("#validatename").val().indexOf("United States of America") > -1
like image 193
Raynos Avatar answered Sep 30 '22 05:09

Raynos


instead of

$('#validatename:contains("United States of America")').length > 0

you can use

name.indexOf("United States of America") != -1
like image 35
Manish Mulani Avatar answered Sep 30 '22 05:09

Manish Mulani