Parece que é um problema muito conhecido, mas todas as soluções que encontrei no Google não funcionam no meu IE9 recém-baixado.
Qual é a sua maneira favorita para ativar a Placeholder
propriedade nas tags input
e textarea
?
Opcional: perdi muito tempo com isso e ainda não procurei a required
propriedade. Você também teria algum conselho para isso? Obviamente, posso verificar o valor em PHP, mas para ajudar o usuário, essa propriedade é muito conveniente.
javascript
html
internet-explorer-9
placeholder
chriscatfr
fonte
fonte
Respostas:
Espaço reservado HTML5 jQuery Plugin
- por Mathias Bynens (um colaborador no HTML5 Boilerplate e jsPerf )
https://github.com/mathiasbynens/jquery-placeholder
Demonstração e exemplos
http://mathiasbynens.be/demo/placeholder
ps
Eu usei este plugin muitas vezes e funciona um prazer. Além disso, ele não envia o texto do espaço reservado como um valor quando você envia seu formulário (... uma dor real que encontrei com outros plugins).
fonte
onclick="_IW.FormsRuntime.submit(this.form);"
. Existe alguma maneira de alterar esse evento onclick para limpar primeiro os espaços reservados e, em seguida, executar esse código CRM existente no onclick?Eu acho que é isso que você está procurando: jquery-html5-placeholder-fix
Esta solução usa a detecção de recursos (via modernizr ) para determinar se o espaço reservado é suportado. Caso contrário, adiciona suporte (via jQuery).
fonte
$(this)
deve ser atribuído a uma variável que pode ser usada em todo o código. A chamada$
para todas as expressões que usa$(this)
é um não-não direto de "Não escreva jQuery como este 101".Se você quiser fazer isso sem usar o jquery ou o modenizador, use o código abaixo:
Para cada campo de texto que você deseja usá-lo, é necessário executar
placeHolder(HTMLInputElement)
, mas acho que você pode simplesmente mudar isso para se adequar! Além disso, fazer dessa maneira, em vez de apenas carregar, significa que você pode fazê-lo funcionar para entradas que não estão no DOM quando a página é carregada.Observe que isso funciona aplicando a classe:
usingPlaceHolder
ao elemento de entrada, para que você possa usá-lo para estilizá-lo (por exemplo, adicione a regra.usingPlaceHolder { color: #999; font-style: italic; }
para torná-la melhor).fonte
Aqui está uma solução muito melhor. http://bavotasan.com/2011/html5-placeholder-jquery-fix/ Adotei um pouco para trabalhar apenas com navegadores no IE10
fonte
Se você deseja inserir uma descrição, pode usá-lo. Isso funciona no IE 9 e em todos os outros navegadores.
fonte
Usando mordernizr para detectar navegadores que não oferecem suporte ao Placeholder, criei esse código curto para corrigi-los.
fonte
placeholder
a propriedade foi padronizada como string => não há necessidade de Modernizr na verdade ::::::::::::::::::::::::::::::if( typeof $('<input type="text">').get(0).placeholder == "undefined" ){ ... }
é um teste completo para não-suporte, testado na emulação de modo IE9 - funciona.Sei que estou atrasado, mas encontrei uma solução inserindo na cabeça a tag:
fonte
para fazê-lo funcionar no IE-9, use abaixo. funciona para mim
O JQuery precisa incluir:
O estilo CSS precisa incluir:
fonte
Um pouco atrasado para a festa, mas eu uso o meu JS experimentado e confiável que tira proveito do Modernizr . Pode ser copiado / colado e aplicado a qualquer projeto. Funciona sempre:
fonte
Eu geralmente penso muito bem em http://cdnjs.com/ e eles estão listando:
//cdnjs.cloudflare.com/ajax/libs/placeholder-shiv/0.2/placeholder-shiv.js
Não tenho certeza de quem é o código, mas parece direto:
fonte
Eu procurei na internet e encontrei um código jquery simples para lidar com esse problema. Do meu lado, foi resolvido e trabalhado no ie 9.
fonte