Utilizar placeholder do html5 nos malditos IEs
  • dvddvd
    dezembro 2011
    Vou deixar aqui um script de poucas linhas pra que nossos 'adorados amigos' façam sua funçao de placeholder e me ajudou muito, por isso vim compartilhar.

    Ex:

    Os bons navegadores interpretam isso perfeitamente mas para os outros a solução é essa:

    //placeholder crossbrowser
    $('.nomedaclasse[placeholder]').each(function(){
    var ph = $(this).attr('placeholder')
    $(this).val(ph).focus(function(){
    if($(this).val() == ph) $(this).val('')
    }).blur(function(){
    if(!$(this).val()) $(this).val(ph)
    })
    })

    OBS: O ".nomedaclasse" seria a classe utilizada tanto nos inputs ou mesmo nos textarea, vc escolhe a sua e bora utilizar as marcações de html5 galera!
  • felquisfelquis
    dezembro 2011
    Cara se você quiser usar o placeholder no IE e outras funcionalidades dos froms no HTML5 pode usar este plugin aqui http://www.matiasmancini.com.ar/jquery-plugin-ajax-form-validation-html5.html

    Até mais
  • andrewsfgandrewsfg
    dezembro 2011
    Recomendo este plug-in JQuery aqui: http://webcloud.se/code/jQuery-Placeholder/. Não precisa por classes, nem seletor, ele transforma o placeholder do html5 de todo o site para algo funcional nos outros browsers. Basta por isso no código, junto ao plug-in:
    //placeholder support
    $('input[placeholder], textarea[placeholder]').placeholder();
  • dvddvd
    dezembro 2011
    Só pra complementar seja o q usarem pra funfa placeholder crossbrowser, vale a pena chamar esse js apenas pra IE7/8 assim nao tem necessidade de carregar JS a toa, pois outros navegadores ja interpretam o placeholder.

    Curti essas outras duas opções ai
  • Tiago_ATiago_A
    setembro 2012
    O problema é que nenhum destas opções funcionam com o plugin de máscara maskedInput http://digitalbush.com/projects/masked-input-plugin/
  • Tiago_ATiago_A
    setembro 2012
    Retiro o que eu disse. Funciona sim. Eu utilizei o plug-in que o André recomendou e utilizei a máscara antes do plug-in do placeholder:

    $('.fone').mask('(99) 9999-9999');
    $('input[placeholder], textarea[placeholder]').placeholder();

    Funcionou até no IE7. Muito obrigado pela dica!
  • andrewsfgandrewsfg
    setembro 2012
    Disponha @Tiago_A. Abs!
  • JardelSKTJardelSKT
    setembro 2012
    onde coloco esse código?
  • williandiaswilliandias
    janeiro 28
    Muito boa a sugestão do andrewsfg, rodou perfeitamente nos IE 7