Entao , eu tenho uma tela que verifica se vai ocorrer auteração de data de vencimento apartir de uma função JavaScript.
No IE a função esta retornando valor, untudo no chrome, ela retorna undefined na linha de comando abaixo fazendo com que a validação fique inconsistente:
alert document.getElementsByName( "referencia1" )[ i ].value2
Eu descobri que a cagada estava no meu JSP…
Na seguinte linha :
<input type="checkbox" value2="<bean:write name="titulo" property="flagAltVenc"/>" value3="<bean:write name="titulo" property="tipoCobranca"/>" name="titulosSelecionados" value="<bean:write name="titulo" property="numeroTitulo" format="#" />" onclick="javascript: validarFuncao( this );">
Por algum motivo, o Chrome nao reconhece os value2 e value3.
a solução foi alterar para um unico value e no meu javascript usar o split para buscar ao value que eu quero
<input type="checkbox" value="<bean:write name="titulo" property="flagAltVenc"/>|<bean:write name="titulo" property="tipoCobranca"/>|<bean:write name="titulo" property="numeroTitulo" format="#" />" name="titulosSelecionados" onclick="javascript: validarFuncao( this );">
for( i = 0; i < document.getElementsByName( "titulosSelecionados" ).length; i++ ){
/*
arrChave[0] = flagAltVenc (value2)
arrChave[1] = tipoCobranca (value3)
arrChave[2] = numero do titulo (value)
*/
arrChave[0]= document.getElementsByName("titulosSelecionados")[i].value.split('|')[0];
arrChave[1]= document.getElementsByName("titulosSelecionados")[i].value.split('|')[1];
arrChave[2]= document.getElementsByName("titulosSelecionados")[i].value.split('|')[2];
alert("cont: "+ i + " checked: "+document.getElementsByName( "titulosSelecionados" )[ i ].checked +
"Flag: " + arrChave[0] +
"Titulo: " + arrChave[2]);
if( document.getElementsByName( "titulosSelecionados" )[ i ].checked == true && arrChave[0] != 'S' ){
numtit++;
mensagem.append(arrChave[2]).append(", ");
}
}
o problema é que agora esta dando o numero do titulo esta null .