functionvalidar(){alert('Chamou o validar');vardesc=document.frm.descricao.value;if(desc==""){alert('Preencha o campo com seu nome');}document.frm.value="inserir"document.frm.submit();
F
fejohann
Mas o submit ainda não funciona… ou seja, não grava em banco…
erro:
Mai 18, 2012 6:21:14 PM org.apache.struts.actions.DispatchAction dispatchMethod
Grave: Action[/alternativa] does not contain method named ‘I’
java.lang.NoSuchMethodException: action.AlternativaACT.I(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
E
evefuji
document.getElementById(001).value
isso não funcionou porque 001 é número, quando ele vai transformar em String para pegar o elemento ele transforma em “1”.
E o submit está funcionando, o que não está funcionando é o action do struts no servidor, olha bem a mensagem de erro, está faltando você definir um método.
L
lele_vader
Além disse coloque o se método assim
functionvalidar(){alert('Chamou o validar');vardesc=document.frm.descricao.value;if(desc==""){alert('Preencha o campo com seu nome');}//Sófazersubmitsenãoforvazioelse{document.frm.value="inserir"document.frm.submit();}functionvalidar(){alert('Chamou o validar');vardesc=document.frm.descricao.value;if(desc==""){alert('Preencha o campo com seu nome');}document.frm.value="inserir"document.frm.submit();
Mostre o seu struts.xml a action alternativa.do para entender o outro erro
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageaction;/** * * @author Felipe */importactionForm.AlternativaACTForm;importdao.AlternativaDAO;importdao.PerguntaDAO;importjava.io.IOException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importmodel.Alternativa;importmodel.Pergunta;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.actions.DispatchAction;publicclassAlternativaACTextendsDispatchAction{/**This is the main action called from the Struts framework. * @param mapping The ActionMapping used to select this instance. * @param form The optional ActionForm bean for this request. * @param request The HTTP Request we are processing. * @param response The HTTP Response we are processing. */publicActionForwardlistar(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{if(request.getSession().getAttribute("adminLogado")==null){returnmapping.findForward("exigeAdmin");}AlternativaACTFormformulario=(AlternativaACTForm)form;Alternativaalternativa=formulario.getAlternativa();Perguntapergunta=formulario.getPergunta();alternativa.setPergunta(pergunta);AlternativaDAOdaoAlternativa=newAlternativaDAO();PerguntaDAOdaoPergunta=newPerguntaDAO();if(alternativa.getAlt_cod()>0){request.setAttribute("alternativa",daoAlternativa.buscar(alternativa));}request.setAttribute("listaPergunta",daoPergunta.select());List<Alternativa>dados=daoAlternativa.select();request.setAttribute("dados",dados);returnmapping.findForward("success");}publicActionForwardinserir(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{if(request.getSession().getAttribute("adminLogado")==null){returnmapping.findForward("exigeAdmin");}AlternativaACTFormformulario=(AlternativaACTForm)form;Alternativaalternativa=formulario.getAlternativa();Perguntapergunta=formulario.getPergunta();alternativa.setPergunta(pergunta);PerguntaDAOdaoPergunta=newPerguntaDAO();AlternativaDAOdao=newAlternativaDAO();if(alternativa.getAlt_desc()!=""){dao.inserir(alternativa);}List<Pergunta>listaPergunta=daoPergunta.select();request.setAttribute("listaPergunta",listaPergunta);List<Alternativa>dados=dao.select();request.setAttribute("dados",dados);returnmapping.findForward("success");}publicActionForwardupdate(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{if(request.getSession().getAttribute("adminLogado")==null){returnmapping.findForward("exigeAdmin");}AlternativaACTFormformulario=(AlternativaACTForm)form;Alternativaalternativa=formulario.getAlternativa();Perguntapergunta=formulario.getPergunta();alternativa.setPergunta(pergunta);AlternativaDAOdao=newAlternativaDAO();PerguntaDAOdaoPergunta=newPerguntaDAO();if(alternativa.getAlt_cod()>0){dao.alterar(alternativa);}List<Pergunta>listaPergunta=daoPergunta.select();request.setAttribute("listaPergunta",listaPergunta);List<Alternativa>dados=dao.select();request.setAttribute("dados",dados);returnmapping.findForward("success");}publicActionForwarddelete(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{if(request.getSession().getAttribute("adminLogado")==null){returnmapping.findForward("exigeAdmin");}AlternativaACTFormformulario=(AlternativaACTForm)form;Alternativaalternativa=formulario.getAlternativa();Perguntapergunta=formulario.getPergunta();alternativa.setPergunta(pergunta);AlternativaDAOdao=newAlternativaDAO();PerguntaDAOdaoPergunta=newPerguntaDAO();if(alternativa.getAlt_cod()>0){dao.excluir(alternativa);}List<Pergunta>listaPergunta=daoPergunta.select();request.setAttribute("listaPergunta",listaPergunta);List<Alternativa>dados=dao.select();request.setAttribute("dados",dados);returnmapping.findForward("success");}}
Esse método que estaria em tese faltando esta presente…
Tudo funciona sem o script/verificação de inputs…
E
evefuji
não conheço struts, mas no faces quando você clica no botão, ele modifica valores no form para indicar o action, vê se com aquela verificação que te expliquei antes, no onsubmit do form, não chama o action do struts.