Why wouldn't you use the placeholder, attribute, then detect support, then use a fallback if needed... Something like:
function hasPlaceholder() { var input = document.createElement('input'); return ('placeholder' in input); }
should do the job to detect support.