Galera, boa tarde,
Passei o dia todo tentando resolver um probleminha aqui, mas não teve jeito ...
Tipo....
Tenho um cadastro de controle de emissão de documentos. Nesse cadastro utilizo um select que é preenchido dinamicamente com ajax-DWR.
jsp de cadastro
<html:form action="CadastroControleEmpresa" method="post" styleId="form">
Cliente/Empresa* <html:select property="cliente.cliente_cod" styleId="clicod">
<html:option value="0">Selecione</html:option>
<c:forEach var="c" items="${listaCli}">
<html:option value="${c.cliente_cod}">${c.razao}</html:option>
</c:forEach>
</html:select><br/>
<label style="color:#CC0000; font-size:10px;" id="vclicod"></label><br/>
Repartiçao emissora* <html:select property="reparticao.reparticao_cod" styleId="repcod" onchange="popularSelectDoc()">
<html:option value="0">Selecione</html:option>
<c:forEach var="r" items="${listaRep}">
<html:option value="${r.reparticao_cod}">${r.nome} - ${r.apelido}</html:option>
</c:forEach>
</html:select><br/>
<label style="color:#CC0000; font-size:10px;" id="vrepcod"></label><br/>
Documento* <html:select property="doc.doc_cod" styleId="doccod">
<html:option value="0">Selecione a repartição</html:option>
</html:select> <br/>
<label style="color:#CC0000; font-size:10px;" id="vdoccod"></label><br/>
Data de emissão* <html:text property="data_emissao" styleId="dtemissao" value="" size="10" onkeypress="return txtBoxFormat(this, '99/99/9999', event);" maxlength="10"/>
<br/>
<label style="color:#CC0000; font-size:10px;" id="vdtemissao"></label><br/>
Data de validade* <html:text property="data_validade" styleId="dtvalidade" value="" size="10" onkeypress="return txtBoxFormat(this, '99/99/9999', event);" maxlength="10"/>
- <input id="sel" style="border:1px solid #ffffff;" onclick="validade();" type="checkbox" value=" "/><span style="font-weight:normal;"><i> O documento não possui validade</i></span><br/>
<label style="color:#CC0000; font-size:10px;" id="vdtvalidade"></label><br/>
<html:hidden property="update_por" value="${sessao}"/><br/>
Comentários <html:textarea property="comentarios" styleId="fcomentarios" value="" style="border: 1px solid #B0D7EC;">
</html:textarea><br/>
<label style="color:#CC0000; font-size:10px;" id="vcomentarios"></label><br/>
<br/><br/>
<center>
<html:button value="Cadastrar" property="" onclick="validaControleEmpresa();"/>
<input type="reset" value="Apagar" />
</html:form>
esse é o meu FacadeAjax
public class FacadeAjax {
/** Classe que trabalha com o DWR para popular select com ajax */
public List<Doc> getPopulaDoc(int repcod){
List<Doc> listaDoc = new ArrayList<Doc>();
if(repcod > 0){
try{
DocDao dd = new DocDao();
listaDoc = dd.listaTodosTiposDocRep(repcod);
}catch(Exception e){
e.printStackTrace();
}
}
return listaDoc;
}
}
essa é a função javascript
function popularSelectDoc(){
var repcod = DWRUtil.getValue("repcod");
FacadeAjax.getPopulaDoc(repcod, montaCombo);
}
function montaCombo(data){
if(data<1){
DWRUtil.removeAllOptions("doccod");
DWRUtil.addOptions("doccod", ["Selecione a repartição"]);
}else{
DWRUtil.removeAllOptions("doccod");
DWRUtil.addOptions("doccod", data, "doc_cod", "doc");
}
}
Até ai beleza tudo funciona direitinho, mas se eu for consultar um registro que cadastrei agora ... ele não aparece na minha consulta ... porem se eu fechar o browser e der um limpar/construir e fizer a consulta novamente tá lá o registro...
Agora o mais estranho(pelo menos pra mim) .... se eu tirar a função ajax do cadastro tudo funciona perfeitamente, até a consulta...
Não sei se consegui explicar bem ... será que alguem sabe com resolver isso?????
