Carlos Rocha Postado Janeiro 30, 2014 Denunciar Share Postado Janeiro 30, 2014 (editado) Pessoal, Eis a minha função de validação function valida_cad_empresa2(form) { for (i=0;i<document.gravatipos.elements.length;i++) { if (document.gravatipos.elements[i].type == 'radio') { if(document.gravatipos.elements[i][0].checked==true) { if(document.gravatipos.elements[i+1].value == "") { alert("Campo obrigatório!"); document.gravatipos.elements[i+1].focus(); return (false); } } } else { if ( (document.gravatipos.elements[i].type == 'text') || (document.gravatipos.elements[i].type == 'textarea') ) { if(document.gravatipos.elements[i].value == "") { alert("Campo obrigatório!"); document.gravatipos.elements[i].focus(); return (false); } } } } form.submit(); } Acontece que eu tenho um formulário que vem do banco com vérios campos text, um campo textarea e um dois radio buttons com o mesmo name. Após esses radio buttons (campos para selecionar se tem ou não taxa para pagar), existe um campo texto. Mas, a validação desse campo texto será obrigatória por causa da validação dinâmica. Existe uma forma de eu pular a validação desse campo em específico caso o radio button com valor 'n' estiver marcado? Eis o html(php incluso) <form action="?acao=gravatipos&ultimo_id=<?php echo $ultimo_id; ?>" method="post" name="gravatipos" id="gravatipos"> <h2><br />Cadastro de empresas (Passo 2/2 - Cadastro de Tipos)</h2><br /> <?php $contador2=0; $string_array = implode('|', $_POST["servico"]); foreach($_POST["servico"] as $servico) { $nomeServicoString="SELECT nome FROM servicos WHERE id=".$servico; $nomeServicoQuery=$conexao->Query($nomeServicoString); list($servicoNome)=$nomeServicoQuery->fetch_row(); echo "<h2><label style='color:#F00'>Tipos para o serviço: ".$servicoNome."</label></h2><br /><br />"; ?> <label class='passo2'>Diferenciais</label> : <textarea name="diferenciais_cad_empresas[<?php echo $servico;?>]" id="diferenciais_cad_empresas[<?php echo $servico;?>]" cols="50" rows="2"></textarea><br /> <label class='passo2'>Inclusos</label> : <textarea name="inclusos_cad_empresas[<?php echo $servico;?>]" id="inclusos_cad_empresas[<?php echo $servico;?>]" cols="50" rows="2"></textarea><br /> <label class='passo2'>Formas de Pagamento</label> : <textarea name="pgto_cad_empresas[<?php echo $servico;?>]" id="pgto_cad_empresas[<?php echo $servico;?>]" cols="50" rows="2"></textarea><br /><br /> <label class='passo2'>Taxa de Serviço?</label> : <input type="radio" name="taxa_cad_empresas[<?php echo $servico;?>]" id="taxa_cad_empresass[<?php echo $servico;?>]" value="s" onclick="abre('taxa[<?php echo $servico;?>]')" /> Sim <input type="radio" name="taxa_cad_empresas[<?php echo $servico;?>]" id="taxa_cad_empresasn[<?php echo $servico;?>]" checked="checked" value="n" onclick="fecha('taxa[<?php echo $servico;?>]')" /> Não<br /> <div id="taxa[<?php echo $servico;?>]" style="display:none"> <label class='passo2'>Valor </label> : <input type="text" name="taxaValor_cad_empresas[<?php echo $servico;?>]" id="taxaValor_cad_empresas[<?php echo $servico;?>]" value="" class="real"/> </div><br /> <label class='passo2'>Observação </label> : <textarea name="observa_cad_empresas[<?php echo $servico;?>]" id="observa_cad_empresas[<?php echo $servico;?>]" cols="50" rows="2"></textarea><br /><br /> <fieldset style="width:650px"> <legend>Tipo</legend> <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo[<?php echo $servico;?>][0]' name='nomeTipo[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Qtde Pessoas</label> : <input type='text' onKeyPress="BloqueiaLetras();" id='qtdePessoas[<?php echo $servico;?>][0]' name='qtdePessoas[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco[<?php echo $servico;?>][0]' name='preco[<?php echo $servico;?>][0]'><br /> <label class='passo2'>Descrição</label> : <textarea id='descricao[<?php echo $servico;?>][0]' name='descricao[<?php echo $servico;?>][0]' cols='40' rows='5'></textarea><br /> </fieldset> <div id="div<?php echo $servico;?>"><input type="button" value="Adicionar campos" onClick="addCampos(this.parentNode.id, <?php echo $servico;?>)" /> </div><br><br> <?php $contador2++; } ?> <br><br><input type="button" value="Cadastrar" onClick="valida_cad_empresa2(this.form)" /> </form> Editado Janeiro 30, 2014 por Carlos Rocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Janeiro 30, 2014 Autor Denunciar Share Postado Janeiro 30, 2014 (editado) Tentei de uma outra forma mas quando chega no campo ele para: function valida_cad_empresa2(form) { for (i=0;i<document.gravatipos.elements.length;i++) { if ( (document.gravatipos.elements[i].type == 'text') || (document.gravatipos.elements[i].type == 'radio') || (document.gravatipos.elements[i].type == 'textarea') ) { if(document.gravatipos.elements[i].type=='radio') { if(document.gravatipos.elements[i].value=='s') { campo='taxaValor_cad_empresas['+i+']'; alert(campo); if(document.getElementById('taxaValor_cad_empresas['+i+']').value!="") { alert("Campo obrigatório!"); document.gravatipos.elements[i+1].focus(); return (false); } } } else { campo='taxaValor_cad_empresas['+i+']'; alert(campo); if(document.getElementById(campo).value!="") { if(document.gravatipos.elements[i].value == "") { alert("Campo obrigatório!"); document.gravatipos.elements[i].focus(); return (false); } } } } } form.submit(); } Editado Janeiro 30, 2014 por Carlos Rocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Carlos Rocha
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.