Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding placeholder attribute using Jquery

Tags:

jquery

I have a simple problem. I just want to add a placeholder on an input. Here's the code:

HTML: <input type="text" name="link" class="hidden">  JQuery: var link = document.querySelector('.link');     link.style.display='block';     link.classList.remove('hidden');     if(val === 1)  // for a movie         link.classList.add('placeholder="Add Movie Title. ."');     else  // for an external link         link.classList.add('placeholder="Add External Link . ."'); 

As you can see, the placeholder doesn't work because the syntax is wrong. I searched related solutions to my problem but they use a different method like this

$("").attr("placeholder", "Type here to search");}); 

but I need something that is similar to what I used with adding style, but I'm not sure if there's other way to do it. Is there a similar way?

like image 608
krispykim Avatar asked Jul 31 '14 02:07

krispykim


2 Answers

You just need this:

$(".hidden").attr("placeholder", "Type here to search"); 

classList is used for manipulating classes and not attributes.

like image 91
Amit Joki Avatar answered Sep 20 '22 09:09

Amit Joki


This line of code might not work in IE 8 because of native support problems.

$(".hidden").attr("placeholder", "Type here to search"); 

You can try importing a JQuery placeholder plugin for this task. Simply import it to your libraries and initiate from the sample code below.

$('input, textarea').placeholder(); 
like image 36
jinggoy Avatar answered Sep 20 '22 09:09

jinggoy