Imagem dentro de um inputText [RESOLVIDO]?

Pessoal queria fazer uma pesquisa no banco com um inputText que contenha uma lupa dentro igual a do GUJ, lupa amarela como faz isso ?

abraço

jr

Acredito que isso seja feito com CSS.
No componente, atribua uma classe de estilo que defina uma imagem de background. E depois ajuste o padding-left para um tamanho maior que a largura da imagem. Ah, sem contar que vai ter que ajustar o height e width do input também.

tu já fez isso ? onde tem um exemplo ?

Fiz um exemplo aqui rapidinho:

Mas é isso mesmo.

Classe CSS:

<style>
.inputPesquisa{

	padding-left:23px;     /* Largura da imagem possui 20px */
	padding-top:5px;       /* Só pra centralizar o texto verticalmente já que a altura da imagem é de 25px */

	height:20px;                                               /* O padding influencia no tamanho do componente (é como se fosse 20px + 5px da altura) */
	background-image:url(resources/lupa.png);
	background-repeat:no-repeat;                     /* Para não repetir o background ao longo de topo o componente */
}
</style>

No HTML:

<input class="inputPesquisa" type="text" value="Pesquisar..." />

Não tenho como te agradecer aikeda ! MUITO OBRIGADO , Desculpa pelo trabalho !

Olha como ta ficando o sisteminha !

http://lh6.ggpht.com/_nTzBoYSeT2I/S1jRQOhZYZI/AAAAAAAADYk/fnBFfwkwrpo/s720/bug.png

Por nada!
Não foi trabalho nenhum :wink:

Não deu certo ! o que poderia ser ? fiz um arquivo css, importei ele para dentro do jsp, setei a classe… mais nada !

ficou assim ::

*{
    /*Define  que todos os elementos da p&#65533;gina, ficar&#65533;o em negrito e com a fonte arial */
    font-weight: bold;
    font-family: arial;
    /*Define a tamanho da fonte para todos os elementos */
    font-size: 10px;
}
  
.edit {
    /*Define a borda do elemento, com um efeito de baixo-relevo menor que o padr&#65533;o */
    border: 1px inset;
    /*Especifica a cor cinza, como pano de fundo do elemento */
    background-color: #D3D3D3;
    /*Especifica como preta a  cor da fonte do elemento */
    color: #000000;
}
 
 
.botoes {
    /*Especifica a cor chocolate, como pano de fundo do elemento */
    background-color: #D2691E;
    /*Especifica como preta a cor da fonte do elemento */
    color: #FFFFFF;
    /*Define a borda do elemento, com um efeito de alto-relevo menor que o padr&#65533;o */
    border: 1px outset;
}
 
.rotulos {
    /*Especifica preta a cor da fonte do elemento */
    color: #000000;
}
 
 
legend{
    /*Define a tamanho da fonte para a legenda do FieldSet */
    font-size: 12px
}

.inputPesquisa{

     padding-left:23px;     /* Largura da imagem possui 20px */
     padding-top:5px;       /* Só pra centralizar o texto verticalmente já que a altura da imagem é de 25px */

     height:20px;                                               /* O padding influencia no tamanho do componente (é como se fosse 20px + 5px da altura) */
     background-image:url(images/zoom.gif);
     background-repeat:no-repeat;                     /* Para não repetir o background ao longo de topo o componente */
 }
&lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt;
&lt;%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%&gt;
&lt;%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%&gt;
&lt;%@ taglib prefix="rich" uri="http://richfaces.ajax4jsf.org/rich"%&gt;
&lt;%@ taglib prefix="a4j" uri="http://richfaces.org/a4j"%&gt;

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
	&lt;link rel="StyleSheet" type="text/css" href="/jsf/style/estilos.css" media="screen" /&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;f:view&gt;

	&lt;h:form&gt;
                      
&lt;!-- AJAX --&gt;
		&lt;rich:messages/&gt;
                    &lt;a4j:region id="regiaoAjax"&gt;
                                  &lt;a4j:status id="sts"&gt;
                                                &lt;f:facet name="start"&gt;
                                                              &lt;h:graphicImage value="/images/ajax-loader.gif" /&gt;
                                                &lt;/f:facet&gt;
                                  &lt;/a4j:status&gt;
                    &lt;/a4j:region&gt;
                    &lt;a4j:keepAlive beanName="pessoaMB" /&gt;
                    &lt;h:messages/&gt;

 &lt;fieldset&gt; 
	        &lt;legend&gt;Pesquisa de Pessoas&lt;/legend&gt;

			&lt;h:panelGrid columns="2"&gt;
/******************************************************************************************************************************
			    &lt;h:outputLabel for="nomeLabel" value="Digite o nome: " /&gt;
				&lt;h:inputText id="nomeInput" value="#{pessoaMB.pessoa.nome}" style=" width : 250px;"  styleClass="inputPesquisa"&gt;
                                        &lt;h:commandButton value="Pesquisar" action="#{pessoaMB.pesquisaByNome}" styleClass="botoes"&gt;
                                        
                                       &lt;/h:commandButton&gt;
                                        &lt;/h:inputText&gt;
			 	&lt;/h:panelGrid&gt;
/******************************************************************************************************************************                      
&lt;!-- GRID --&gt;
			 &lt;legend&gt;Listagem:..&lt;/legend&gt;

			&lt;rich:dataTable value="#{pessoaMB.pessoas}" var="fisica" rows="10" id="fisicas" width="100%" cellspacing="0" cellpadding="0" border="1"&gt;
				&lt;h:column&gt;
					&lt;f:facet name="header"&gt;
						&lt;h:outputText value="NOME" /&gt;
					&lt;/f:facet&gt;
					&lt;h:outputText value="#{fisica.nome}" /&gt;
				&lt;/h:column&gt;

				&lt;h:column&gt;
					&lt;f:facet name="header"&gt;
						&lt;h:outputText value="E-MAIL" /&gt;
					&lt;/f:facet&gt;
					&lt;h:outputText value="#{fisica.email}" /&gt;
				&lt;/h:column&gt;

				&lt;h:column&gt;
					&lt;f:facet name="header"&gt;
						&lt;h:outputText value="CPF" /&gt;
					&lt;/f:facet&gt;
					&lt;h:outputText value="#{fisica.cpf}" /&gt;
				&lt;/h:column&gt;

				&lt;h:column&gt;
					&lt;f:facet name="header"&gt;
						&lt;h:outputText value="DATA NASC." /&gt;
					&lt;/f:facet&gt;
					&lt;h:outputText value="#{fisica.dataNascimento}"&gt;
						&lt;f:convertDateTime pattern="dd/MM/yyyy" /&gt;
					&lt;/h:outputText&gt;
				&lt;/h:column&gt;

				&lt;h:column&gt;
					&lt;f:facet name="header"&gt;
						&lt;h:outputText value="CELULAR" /&gt;
					&lt;/f:facet&gt;
					&lt;h:outputText value="#{fisica.telefoneCelular}" /&gt;
				&lt;/h:column&gt;

				&lt;h:column&gt;
					&lt;f:facet name="header"&gt;
						&lt;h:outputText value="Selecionar"/&gt;

					&lt;/f:facet&gt;

					&lt;a4j:commandLink reRender="panelGridInputs"&gt;
						&lt;h:outputText value="Selecionar"/&gt;

						&lt;f:setPropertyActionListener  value="#{fisica}" target="#{pessoaMB.pessoa}"/&gt;
					&lt;/a4j:commandLink&gt;

				&lt;/h:column&gt;
                                        &lt;h:column&gt;
					&lt;f:facet name="header"&gt;
						&lt;h:outputText value="Exclusão"/&gt;
					&lt;/f:facet&gt;

					&lt;a4j:commandButton action="#{pessoaMB.delete}" status="sts" reRender="fisicas"  image="/images/delete_1.gif" styleClass="botoesImgs" style="text-align:center"  size="5"&gt;
                                                                
						&lt;f:setPropertyActionListener value="#{fisica.id}" target="#{pessoaMB.id}" /&gt;
					&lt;/a4j:commandButton&gt;
				&lt;/h:column&gt;

		 		&lt;f:facet name="footer"&gt;
					&lt;rich:datascroller /&gt;
				&lt;/f:facet&gt;
                                         &lt;a4j:region id="regiaoAjax"&gt;
			 	&lt;a4j:status id="sts"&gt;
	            	&lt;f:facet name="start"&gt;
	            		&lt;h:graphicImage value="/images/ajax-loader.gif" /&gt;
	               	&lt;/f:facet&gt;
	            &lt;/a4j:status&gt;
	         &lt;/a4j:region&gt;
			&lt;/rich:dataTable&gt;



&lt;!-- FORM --&gt;

			&lt;h:panelGrid columns="2" id="panelGridInputs"&gt;
				&lt;h:outputLabel for="nome" value="Nome "  /&gt;
				&lt;h:inputText id="nome" readonly="true" value="#{pessoaMB.pessoa.nome}" style=" width : 254px;"/&gt;

				&lt;h:outputLabel for="email" value="E-mail "  /&gt;
				&lt;h:inputText id="email" readonly="true" value="#{pessoaMB.pessoa.email}" style=" width : 249px;"/&gt;

				&lt;h:outputLabel for="cpf" value="CPF "  /&gt;
				&lt;h:inputText id="cpf" readonly="true" validatorMessage="CPF inválido!" value="#{pessoaMB.pessoa.cpf}" size="60" style=" width : 106px;"/&gt;

				&lt;h:outputLabel for="dataNasc" value="Data Nascimento: "  /&gt;
				&lt;h:inputText id="dataNasc" readonly="true" validatorMessage="Data de nascimento com formato inválido!" value="#{pessoaMB.pessoa.dataNascimento}" size="60" style=" width : 75px;"&gt;
					&lt;f:convertDateTime pattern="dd/MM/yyyy" /&gt;
				&lt;/h:inputText&gt;

				&lt;h:outputLabel for="telCel" value="Tel. Celular "  /&gt;
				&lt;h:inputText id="telCel" readonly="true" value="#{pessoaMB.pessoa.telefoneCelular}" /&gt;

                                      
&lt;a4j:commandButton value="Salvar" action="#{pessoaMB.save}" status="sts" reRender="inputs" styleClass="botoes"/&gt;
                                        
&lt;a4j:commandButton value="Voltar" immediate="true" action="toIndex" styleClass="botoes"/&gt;


&lt;rich:modalPanel id="panel" width="500" height="200"&gt;
                                                               &lt;f:facet name="header"&gt;
                                                                             &lt;h:panelGroup&gt;
                                                                                           &lt;h:outputText value="- AVISO SISTEMA NUTEC - "&gt;&lt;/h:outputText&gt;
                                                                             &lt;/h:panelGroup&gt;
                                                               &lt;/f:facet&gt;
                                                               &lt;f:facet name="controls"&gt;
                                                                             &lt;h:panelGroup&gt;
                                                                                           &lt;h:graphicImage value="../images/close.png" styleClass="hidelink" id="hidelink"/&gt;
                                                                                           &lt;rich:componentControl for="panel" attachTo="hidelink" operation="hide" event="onclick"/&gt;
                                                                             &lt;/h:panelGroup&gt;
                                                               &lt;/f:facet&gt;
                                                               &lt;h:outputText value="NUTEC"&gt;&lt;/h:outputText&gt;
                                                               <br/>
                                                               &lt;h:outputText value="NUTEC DITI"&gt;&lt;/h:outputText&gt;
                                                 &lt;/rich:modalPanel&gt;
                                                 &lt;h:outputLink value="#" id="link"&gt;

                                                               Ajuda
                                                               &lt;rich:componentControl for="panel" attachTo="link" operation="show" event="onclick"/&gt;
                                                 &lt;/h:outputLink&gt;

			&lt;/h:panelGrid&gt;


                  


    &lt;/fieldset&gt;



	   &lt;/h:form&gt;
&lt;/f:view&gt;

&lt;/body&gt;
&lt;/html&gt;

O que tá acontecendo é que o estilo definidos pelo Richfaces para um input está conflitando com o estilo que foi definido por você.
Se você reparar, o espaçamento (padding-left) está funcionando (23px), mas a imagem não.

Isso acontece pois o Richfaces também define um atributo background-image com esse fundo azul gradiente nos inputs. Para o padding ele não o faz. Ora, mas por que a definição do Richfaces prevalece e não a minha? Aí já entram as regras de especificidade (cascata) do CSS. O Richfaces está sendo mais específico que você e por isso ele ganha.
O Majour escreve muito bem sobre CSS

Veja:
http://maujor.com/tutorial/intrtut.php#fec
http://maujor.com/tutorial/especificidade.php

Existem algumas alternativas, uma delas é, manter as definições do Richfaces não-conflitantes e, as conflitantes, as suas.
Pra isso adicione um !important no atributo que você quer que prevaleça:

...
background-image: url(lupa.png) !important;  /* uso do !important */
...

Pronto, isso vai resolver o caso do background.

Resultado:

Mas se você quiser suplantar todas as definições CONFLITANTES do Richfaces pra esse componente, essa não é a melhor estratégia. Nesse caso, isto vai funcionar:

...
input.inputPesquisa {   /* tag.classe */
	...

Com o código completo…

<style> input.inputPesquisa { font-size: 16px; /* CONFLITO: Só pra mostrar uma outra propriedade conflitante */ padding-left: 23px; padding-top: 5px; height: 20px; background-image: url(lupa.png); /* CONFLITO */ background-repeat: no-repeat; } </style>

Resultado…

Akeda Amigão bom dia !

O Resultado final graças a você :

add msn : kafkapvh@hotmail.com
email : web2ajax@gmail.com

Grande Abraço.

jr

Me ajudou também!!! fico massa!