Pessoal estou tendo um problema assim, tenho uma pagina q é montada no TILES assim:
HEADER
BODY
GRID -> AJAX -> JSP
FOOTER
O problema ta nesse GRID, ele é montado a partir de uma JSP via AJAX dinamicamente, quando eu submeto o form ele não passa os valores para a ACTION, isso acontece apenas no firefox, pq no IE funciona normal.
Vá em: Ferramentas - Console de erros e vê o erro que está sendo gerado(no FF), e coloca aqui pra gente tentar resolver. Muito provavelmente é um erro de js.
N
Nino1
Então o pior q ele não gera erro, a janela de erros vem vazia… assim primeira vez q to mexendo com AJAX… ta meio nebuloso…
as informações q quero a apartir de um checkbox a linha q monta ele ta assim:
Esse codigo esta na JSP q é chamada pelo AJAX para ser montada dinamicamente; nela eu não posso usar as tags do STRUTS pq não há form nessa pagina e sim onde monta o TILES.
QUAlquer dúvida para melhorar o entendimento estou a disposição
Grato,
fabiozoroastro
Eu nao entendi mto bem msm nao.
Vc tah colocando o nome de algum input usando parenteses?
nao seria o value nao?
N
Nino1
Esse seria pra pegar os valores do FORM certo, ali eu enviaria via Scriplets para o form por causa q essa é uma pagina monta via AJAX q esta fora do TILES…
fabiozoroastro
Ainda não entendi pq vc tah sentando o valor recebido no NOME do seu input.
Como você vai pegar o valor do input na Action se o nome é dinamico?
Vc tem que fazer assim:
Aí então quando vc trabalhar com o registros vc trabalhará com array tendo todos os valores.
E não foi… tipo assim o “name” seria o campo q enviaria para o FORM certo… o “value” seria a array com os valores pegados dos checkboxes… entendi oq vc disse, e esta correto, mas para isso funcionar precisa de mais alguma coisa sei lá… pq cada check tem seu id mas eles não chegam no form…
cada desde já agradeço sua ajuda… valeu mesmo
N
Nino1
Bom agora isso deve esclarecer… no form o atributo para pegar os valores do form ta assim
private Map<String, Object> ids = new HashMap<String, Object> ();
por isso do
… só queria saber pq não funciona no Firefox :S
otaviofcs
Tem que dar uma olhada se o seu código tá bem no padrão w3c. O IE aceita uns acochambramentos mas o Firefox é mais padrão. É difícil avaliar o seu problema sem ver uma página que foi gerada com o grid carregado e sem saber que funções ajax vc tá usando (anexa uma página)… Pode ser que o firefox não esteja colocando o grid dentro do seu form na hora de submeter…
abraços,
otávio
fabiozoroastro
Nao sei como ele trata no hashmap
mas acho que dessa forma ai nao vai funcionar mesmo
faz o seguinte, pega uma página gerada aí, olha o código fonte e coloca aqui pra gente ver.
N
Nino1
Bom ele monta a tela direitinho… mas ta com problema no submit minha jsp ta assim…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="pt-br"/><%@tagliburi="http://struts.apache.org/tags-logic"prefix="logic"%><tablewidth="100%"cellspacing="2"cellpadding="2"><logic:iteratename="id"id="ids"type="br.com.dto.ClasseDTO"><tr><tdwidth="3%"align="center"bgcolor="white"style="background:#F8F8F8"> </td><tdwidth="3%"align="center"style="background:#F8F8F8"valign="center"><logic:notPresentname="gridReadOnly"><inputtype="checkbox"name='ids(<%=id.getId()%>)'/></logic:notPresent></td></tr></logic:iterate></table>
Qual seria o padrão W3C para eu estar dando uma olhada, e essa pagina é chamada via uma Action…
Então isso ta feito e mesmo assim não funciona… já coloquei no value e não deu nada…
Pq assim sempre fiz desse jeito q vc falo… mas como estou dando manutenção em uns BUG’s achei estranho pq não funciona no firefox apenas… e quando o código achei estranho tb… mas ele funciona no IE
pior q não sei pq não abre no IE o exibir código fonte… para eu comparar os dois por esta chamada ser em ajax
N
Nino1
Conhece essa exception:
java.lang.reflect.InvocationTargetException: Cannot set ids
...
Caused by: java.lang.NoSuchMethodException: Property 'ids' has no setter method
...
depois q mudo no ie o value ele ESTORA…
fabiozoroastro
Tah falando que vc não tem o get e set para o id. Vc declarou esse id no seu form?
Desta forma que eu disse TEM que funcionar.
N
Nino1
Então não esta funcionando pq assim veja se meu raciocinio ta certo… independente de ser via ajax ele deveria buscar direto no form… certo…
Esse padrão w3c vc conhece??? acha q poderia ser isso
N
Nino1
Bom achei um detalhe para montar a pagina usa um form dentro do grid já é outro form por isso não estava usando o value e não encontra no form…
Bom isso é valido???
fabiozoroastro
Realmente, independente de ser ajax ele tinha que trazer os valores correto.
O padrão W3C é o padrão pra montar páginas na web.
Acho que não vai ter problema nenhum estar fora do padrão, se desse algum erro, apareceria no console do js.
O endereço dessa aplicação eh publico ou eh local na sua maquina?
N
Nino1
É local…
entendi q no input o IE entendi o " name=“id(<%= ids.getId())” como estava como um elemento só ja no FF não… ele não considera nada e manda como null