I have a small form where I cannot use labels, so I am using placeholders as labels. For the older browsers (this site has old IE users) I have installed a jQuery snippet to use the same placeholders, however now those placeholders pass the validation. Anyway around this?
So it's passing the PHP validation? My guess would be that the best thing to do is compare the POST value of the fields to the placeholder that was in them. If they match, or maybe if the first bit of it matches as they could delete one character from the end then the form fails validation
Yes, in IE due to the jQuery placeholder script, the actual placeholder "Name" (and others) pass validation, since I am only checking to see if the input has a string in it. This does not happen on email, because I am also checking to see if it is a valid email. I'm not 100% sure I understand what you're saying. Can you explain it again or show an example for me please?
I'm confused, if it is PASSING validation. then what is the problem?
If you mean that is isn't passing, then maybe put the placeholder content into the "alt" attribute, and if placeholder is supported in the browser, then copy the alt value over to placeholder.
// check if the browser supports placeholder if (typeof(document.createElement('input').placeholder) !== 'undefined'){ // yes it does! $('input[alt]').each(function(){ this.placeholder = this.alt; }); } else { // no it doesn't, add your placeholder plugin here // but pull the placeholder value from the alt }
I tried what @TT_Mark said after a lot trying to figure out how and I came up with this, but don't know if it is correct? It seems to be working though...
and for some reason this was working on 1 input, but not another, so then I tried this and it seems to be working for the most part too. Are either of these even correct?
form:
php
jQuery
My bad!
Name: John Doe
Phone: Phone <-- placeholder
Email: example@email.com
etc. Any help would be appreciated.
If you mean that is isn't passing, then maybe put the placeholder content into the "alt" attribute, and if placeholder is supported in the browser, then copy the alt value over to placeholder.
Input
Script
Any thoughts?
html:
php:
I got it right above pretty much, but had the wrong assignment operator instead of the comparison operator.
Got it working now :D