Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde
Estou fazendo uma valição em ajax, no IE esta funcionando perfeito, porem em outros navegadores não esta funcionando, como o navegador padrão da empresa é firefox, preciso fazer funcionar no firefox, coloquei uns alert em meu script e encontrei que é esses comando (frmcte.elements.length)(frmcte.document.getElementById(cCampo9).value;) que não funciona no firefox. Alguem tem uma ideia como posso corrigir isso, estou postando o script.
if ($("#forifp").val() == 'N') {
$.ajax({
type: "POST",
url: "actions/prcinfpro.php",
data: "action=valcar&codemp=" + $("#codemp").val() + "&codfil=" + $("#codfil").val(),
success: function(cporet)
{
alert('entrei na funcao');
var nrcmp = frmcte.elements.length;
var cCampo9 = '';
var cObrigado = '';
var cInformacao = '';
var t = 0;
var dados = frmcte.getElementsByTagName('infnov');
alert('antes do for');
//alert(nrcmp);
for(t ; t <nrcmp; t++){
cCampo9 = frmcte.elements[t].name ;
if(( cCampo9.substr(0,7) == 'obrigat' )||( cCampo9.substr(0,6) == 'infnov' ))
{
alert(cCampo9);
alert('outro if');
if ( cCampo9.substr(0,7) == 'obrigat' ){
alert('esse é outro if if');
cObrigado = frmcte.document.getElementById(cCampo9).value;
alert('pego o obrigado');
// alert(cObrigado);
}
if ( cCampo9.substr(0,6) == 'infnov' ){
cInformacao = frmcte.document.getElementById(cCampo9).value;
// alert(cCampo9);
// alert(cInformacao);
if ( cObrigado == 'S' ) {
if(( cInformacao == '' )||( cInformacao == ' ' )){
alert('A IFP nas características Obrigatórias não Preenchidas !!!!');
//return false;
}else alert('Parabens, o campo esta preenchido');
}else alert('características não Obrigatórias');
}//fim do if infnov
}
}
}
});
Obrigado
Estou fazendo uma validação, sou novo aqui tem como migrar para o topico de java script?
essa tua verificação não faz nenhum sentido.
você colocou ela no retorno do método, ou seja, primeiro faz tudo, e depois verifica.
você deveria primeiro verificar, e depois fazer o resto.
Não use a forma:
document.form.campo
prefira o standard getElementById(), getElementsByTagName(), ou no caso, como você está usando jQuery, use o poderoso seletor dele $()
recomece teu código.
Boa tarde
Muito obrigado, pela dica, vou implementar e dou um retorno.
Pessoal estava testando novamente no firefox e testei o console de erro no firefox e me mostrou um erro que o formulario não esta definido,
var valcar = true;
if ($("#forifp").val() == 'N') {
$.ajax({
type: "POST",
url: "actions/prcinfpro.php",
data: "action=valcar&codemp=" + $("#codemp").val() + "&codfil=" + $("#codfil").val(),
success: function(cporet)
{
alert('entrei na funcao');
o erro que o console apresentou foi nessa linha var nrcmp = frmcte.elements.length;
Esse formulario fica em outra pagina, porem vizualizo na mesma pagina que estou validando. Meio louco mais é assim. No IE eu consigo vizualizar o formulario em outro navegadores não.
Bom dia
Pessoal, consegui resolver usei dessa forma e funcionou var nrcmp = document.forms["frmcte"].elements.length;
Obrigado Pela ajuda
Se tiverem enfrentando esse problema pode perguntar para min que vou ter o maior prazer de ajuda-los
1- o q eh valicao?
2- isso nao deveria estar no topico de javascript nao?