Problema em mostrar o DatePicker - FJ21

Olá galera

Estou seguindo a apostila da caelum FJ21

Tem o seguinte código que é pra mostrar um calendário quando eu clico no campo data

Só que eu clico e nada acontece

segue o código

Tag: campoData


<%@ attribute name="id" required="true" %>

<script type="text/javascript">

	$(function(){

			$("#${id}").datepicker({dateFormat: 'dd/mm/yyyy'});
		});
</script>

<input type="text" id="${id}" name="${id}" />

Cabecalho: cabecalho.jsp


<html>
	
	<head>
		<link type="text/css" herf="css/jquery.css" rel="stelesheet" />
		<script type="javascript" scr="js/jquery.js"></script>
		<script type="text/javascript" scr="js/jquery-ui.js"></script>
	</head>
	
	<body>
	
		<img src="/WebContent/imagens/caelum.png" />  

		<h2> Agenda de Contatos do Bruno</h2>
		
		<hr/>
	
	</body>

</html>

adiciona-contatos.jsp



<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib tagdir="/WEB-INF/tags" prefix="caelum" %>

<c:import url="cabecalho.jsp" />

    
        <form action="adicionaContato" method="GET">
            Nome: <input type="text" name="nome" /><br />
            E-mail: <input type="text" name="email" /><br />
            Endereço: <input type="text" name="endereco" /><br />
            Data Nascimento: <caelum:campoData id="dataNascimento" /><br />
            <input type="submit" value="Gravar" />
        </form>

    <c:import url="rodape.jsp" />

os arquivos estão

WebContent/css/jquery.css

WebContent/js/jquery.js

WebContent/js/jquery-ui.js

O que tem de errado?

Atenciosamente

Olá, amigo o problema todo é só a indicação do caminho dos arquivos .js do .css altera o teu pra ficar desta forma:

     <head>  
         <link type="text/css" herf="../css/jquery.css" rel="stelesheet" />  
         <script type="javascript" scr="../js/jquery.js"></script>  
         <script type="text/javascript" scr="../js/jquery-ui.js"></script>  
     </head>  

Nao funcionou

Alterei o codigo para esse que você passou soh q ainda nao aparece o calendario quando eu clico no campo =/

Cara outra coisa que notei no seu código e achei estranho d+ foi isso:

<html>  
       
     <head>  
         <link type="text/css" herf="css/jquery.css" rel="stelesheet" />  
         <script type="javascript" scr="js/jquery.js"></script>  
        <script type="text/javascript" scr="js/jquery-ui.js"></script>  
     </head>  
       
     <body>  
       
         <img src="/WebContent/imagens/caelum.png" />    
   
         <h2> Agenda de Contatos do Bruno</h2>  
           
         <hr/>  
       
     </body>  
   
 </html>

O teu cabeçalho ta abrindo e fechando a tag html e a tag body, acho que seria assim:

 <html>  
       
     <head>  
         <link type="text/css" herf="css/jquery.css" rel="stelesheet" />  
         <script type="javascript" scr="js/jquery.js"></script>  
         <script type="text/javascript" scr="js/jquery-ui.js"></script>  
     </head>

Dessa forma no arquivo cabecalho.jsp so teria isso.

Nao deu certo do mesmo jeito

Nao modificou nada =/

Estou com o mesmo problema…

Estou com o mesmo erro, fiz de acordo com a apostila , mais o calendário não carrega
alguém pode me ajuda ae?

Pessoal,

      Estou tendo o mesmo problema, encontei na web a seguinte pagina, copiei o codigo e fiz algumas alterações para o português. Porem não consigo pegar o valor para ser gravado no banco. Alguem tem alguma dica????

http://www.nsftools.com/tips/NotesTips.htm#datepicker

Eu consegui fazer funcionar uma vez, mas agora não funciona mais !!!

1 curtida

Oi galera!
Aproveitando esse tópico…
Eu tenho uma duvida.

Como eu faço para mostrar o campo que eu fiz com o datepicker ja preenchido?

Explicando melhor:
Suponhamos que se trate de uma tela de edição da dados de algum cliente…
esse foi retirado de uma lista e os campos do formulario populados com os dados deste cliente…
bom, do geito que é mostrado na apostila da caelum eu não consigo fazer que nesse caso especifico o campo ja apareça populado e com o datepicker funcionando.

Como faço isso?

Valeu galerinha! Agradeço desde já! :slight_smile:

da uma olhada aki:

http://www.guj.com.br/posts/list/0/214452.java#1106009

vai ter q remontar sua tag
fica assim:

adicione o atributo value para receber da lista

<%@tag description="calendario" pageEncoding="UTF-8"%>

<%-- The list of normal or fragment attributes can be specified here: --%>

<%@attribute name="id" required="true" %>
<%@attribute name="value" required="true" %>


<script type="text/javascript">
    $(function() {
    $("#${id}").datepicker({dateFormat: 'dd/mm/yy'});
    $("#${value}").datepicker({dateFormat: 'dd/mm/yy'});
    });
</script>
    <input type="text" id="${id}" name="${id}" value="${value}"  />

depois para chamar a tag:

                                                                                    
<label>Validade: <rm:calendario_tag id="data_validade" value="${param.data_validade}" /></label>

lembrando confira no seu head se os caminhos estao certos para a jquery

[quote=robertoMoraes]vai ter q remontar sua tag
fica assim:

adicione o atributo value para receber da lista

<%@tag description="calendario" pageEncoding="UTF-8"%>

<%-- The list of normal or fragment attributes can be specified here: --%>

<%@attribute name="id" required="true" %>
<%@attribute name="value" required="true" %>


<script type="text/javascript">
    $(function() {
    $("#${id}").datepicker({dateFormat: 'dd/mm/yy'});
    $("#${value}").datepicker({dateFormat: 'dd/mm/yy'});
    });
</script>
    <input type="text" id="${id}" name="${id}" value="${value}"  />

depois para chamar a tag:

                                                                                    
<label>Validade: <rm:calendario_tag id="data_validade" value="${param.data_validade}" /></label>

lembrando confira no seu head se os caminhos estao certos para a jquery[/quote]

Vlw cara!
Funcionou!

Tou com o mesmo problema… estou seguindo a apostila fj-21, adotei as medidas apresentadas aqui anteriormente mas nenhuma apresentou resultado…
baixei a versão 1.8.6 do JQuery, adicionei as pastas css e js no diretório WebContent, e tentei usar diversos tipos de chamadas dos arquivos (caso fosse algum problema nos caminhos do diretórios), o calendario nao chega nem a aparecer.

index.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="calendario" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link type="text/css" href="css/ui-lightness/images/jquery-ui-1.8.6.custom.css" rel="stylesheet" /> <%--ps. nao sei se é esse caminho, mas já tentei todas as possibilidades, como o indicado pela apostila: css/jquery--%>

<script type="text/javascript" src="js/jquery-1.4.2.min.js>"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.6.custom.min.js>"></script>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="Adiciona">
	Nome: <input type = "text" name ="nome /"><br/>
	Calendario 2 : <calendario:campoData id="dataNascimento"> </calendario:campoData>
</form>
</body>
</html>

no diretório tags, dentro de WebContent, tenho campoData.tag:

<%@ tag language="java" pageEncoding="ISO-8859-1"%>
<%@ attribute name="id" required="true"%>
<script type="text/javascript">
$(function(){
	$("#${id}").datepicker({dateformat : 'dd/mm/yy'});
});
</script>
<input type="text" id="${id}" name="${id}" />

se possível, respondam, grato desde já!

No meu funciona…

Está com as tags do Struts 1, mas dá no mesmo:

adiciona.jsp:

&lt;%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %&gt;
&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%&gt;
&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %&gt;
&lt;%@ taglib tagdir="/WEB-INF/tags" prefix="caelum" %&gt;

&lt;html:html&gt;
    &lt;head&gt;
        &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
        &lt;link type="text/css" href="css/ui-lightness/jquery-ui-1.8.4.custom.css" rel="stylesheet" /&gt;
        &lt;script type="text/javascript" src="js/jquery-1.4.2.min.js"&gt;&lt;/script&gt;
        &lt;script type="text/javascript" src="js/jquery-ui-1.8.4.custom.min.js"&gt;&lt;/script&gt;
        &lt;title&gt;Sistema de Teste do Struts&lt;/title&gt;
    &lt;/head&gt;

    &lt;center&gt;&lt;html:form action="/novoContato" focus="nome"&gt;
        Nome:
        &lt;html:text property="nome"/&gt;
        &lt;html:errors property="nome"/&gt;
        <br/>
        Email:
        &lt;html:text property="email"/&gt;
        &lt;html:errors property="email"/&gt;
        <br/>
        Endereço:
        &lt;html:text property="endereco"/&gt;
        &lt;html:errors property="endereco"/&gt;
        <br/>
        Data de nascimento:
        &lt;caelum:campoData id="dataNascimento"/&gt;
        &lt;html:errors property="dataNascimento"/&gt;
        <br/>
        Fumante:
        &lt;html:radio property="fumante" value="S"/&gt;Sim
        &lt;html:radio property="fumante" value="N"/&gt;Não
        <br/>
        Sexo:
        &lt;html:radio property="sexo" value="M"/&gt;Masculino
        &lt;html:radio property="sexo" value="F"/&gt;Feminino
        <br/>
        &lt;html:submit&gt;Enviar dados&lt;/html:submit&gt;
        <br/>
    &lt;/html:form&gt;
&lt;/html:html&gt;&lt;/center&gt;

web.xml, apenas o trecho que nos interessa:

    &lt;taglib&gt;
            &lt;taglib-uri&gt;http://displaytag.org&lt;/taglib-uri&gt;
            &lt;taglib-location&gt;/WEB-INF/displaytag.tld&lt;/taglib-location&gt;
        &lt;/taglib&gt;

DataPicker:

&lt;%@ attribute name="id" required="true" %&gt;
&lt;script type="text/javascript"&gt;
    $(function() {
        $("#${id}").datepicker({dateFormat: 'dd/mm/yy'}).data;
    });
&lt;/script&gt;
&lt;input type="text" id="${id}" name="${id}" /&gt;

Está com .data no final para retornar como um tipo String…

Eu add um print da tela com a estrutura dos pacotes, qualquer coisa, tamo aqui

[]'s


é, muito estranho, eu decidi re-fazer o projeto do 0 de novo, e agora funciona o.O hsauhsiuhusa vlw do mesmo jeito

Despois de ver as dicas o meu formulario passou a funcionar corretametne, porem só no primeiro campo de data o segundo campo de data o calendario nao funciona…

algum pode me ajduar?

obs.: o formulario esta em php com base de dados mysql, mas acho que o problema esta no script mesmo

atenciosamente

Galera. Boa tarde. Meu caso é bem simples mas tá me deixando meio bolado. Seguinte: eu coloquei as JSP’s em uma pasta pra não deixar zoniado dentro do WebContent, assim: agenda/WebContente/visao/adiciona-contato.jsp

Então, o Datepicker não identifica de jeito nenhum. Beleza, vcs dirão:“é só um problema de mapeamento”, mas qual mapeamento? A única coisa que mudei no sistema foi isso. O resto tá exatamente igual a apostila. Acabei de fazer um teste, copiando esse JSP pra fora da pasta ‘/visao/’, e funcionou o FDP!!!..onde posso mudar pra ele reconhecer dentro dessa pasta? Já tentei mudar vários caminhos aqui mas nada. Alguma ajuda???

Bom dia a todos. Alguma sugestão de solução para o meu problema?. Estou travado nisso!

[quote=robertoMoraes]vai ter q remontar sua tag
fica assim:

adicione o atributo value para receber da lista

<%@tag description="calendario" pageEncoding="UTF-8"%>

<%-- The list of normal or fragment attributes can be specified here: --%>

<%@attribute name="id" required="true" %>
<%@attribute name="value" required="true" %>


<script type="text/javascript">
    $(function() {
    $("#${id}").datepicker({dateFormat: 'dd/mm/yy'});
    $("#${value}").datepicker({dateFormat: 'dd/mm/yy'});
    });
</script>
    <input type="text" id="${id}" name="${id}" value="${value}"  />

depois para chamar a tag:

                                                                                    
<label>Validade: <rm:calendario_tag id="data_validade" value="${param.data_validade}" /></label>

lembrando confira no seu head se os caminhos estao certos para a jquery[/quote]

Roberto,

O passo que você informou funciona. mas quando minha data recuperada do banco de dados é mostrada no input do JSP é mostrada desformatada (Exemplo: Fri Mar 09 00:00:00 BRT 2012). Saberia resolver esse problema?

Em minha tag está setado para usar o o formato dd/mm/yy, mas a impressão que tenho é como se essa formatação não tivesse fazendo diferença.

Estou usando mysql.

Obrigado!