Ir para conteúdo
Fórum Script Brasil
  • 0

Quantos campos antes do submit();


Carlos Rocha

Pergunta

Pessoal.

Tenho um form que carrega seus campos dinamicamente. Ou seja, dependendo do que chega do banco, um campo "nome", por exemplo, pode ter N vezes.

Então, o jeito foi fazer assim: {$i} [nome]. Desta forma terei um array com N campos nome.

Mas ai surge uma dificuldade. Como saber, antes de submeter o form, em JavaScript, quantos campos nome eu terei dinamicamente?

Isso é tudo que eu preciso saber.

Dai, faço as validações com o :

for (i=0;i<quantos_campos;i++)
{
  if(document.GetElementById(i+"nome_do_campo").value==0)
{
 ...

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olha o que aconteceu:

Fiz assim:

<script language="javascript">
function validatodos()
{
    for (i=0; i<((document.adcionatodos.elements.length-1)/6); i++)
    {   
      if (document.getElementById(i+"[novo_preco]").value =="")
      {
              alert("Preencha o campo Preço: campo obrigatório!!!");
              document.getElementById(i+"novo_preco").focus();
              return (false);
      }
      if (document.getElementById(i+"[novo_imposto]").value =="")
      {
              alert("Preencha o campo Imposto: campo obrigatório!!!");
              document.getElementById(i+"novo_imposto").focus();
              return (false);
      }
      if (document.getElementById(i+"[marcado]").checked == true && document.getElementById(i+"[condicao]").value =="#")
      {
              alert("Você Selecionou o produto mas não escolheu a condição!!!");
              document.getElementById(i+"[marcado]").focus();
              return (false);
      }
    }
  document.getElementById("adcionatodos").submit();
}
</script>
Acontece, que ele não esta conseguindo mostrar o foco no select do campo não marcado. Como selecinar isso? O form ficou assim:
<tbody><tr><td colspan="10" align="center"><h3>Produtos de: Malta S/A</h3></td></tr>
            <tr><td colspan="10" align="center"><a href="?acao=mostra_fornecedores">Escolher outro fornecedor</a></td></tr>
            <tr>
              <td align="center">Foto</td>
              <td align="center">Produto</td>
              <td align="center">Grupo</td>

              <td align="center">Descrição</td>
              <td align="center">Qtde.<br>na caixa</td>
              <td align="center">Preço</td>
              <td align="center">Imposto (%)</td>
              <td align="center">Marcar para<br>todos os ítens</td>

              <td align="center">Posição</td>
              <td align="center">Adicionar</td>
             </tr>
          <form action="carrinho.php?op=adicionar" name="adcionatodos" id="adcionatodos" method="post"></form><input name="0[id_prod]" id="0[id_prod]" value="3" type="hidden">
            <input name="id_fornece" id="id_fornece" value="2" type="hidden">
            <tr>
              <td align="center"><img src="../img/sem_foto.png" alt="Sem foto" border="0" width="50"></td>
              <td align="let">Cevada</td>

              <td align="let">Produtos de Padaria</td>
              <td align="center"><a href="?acao=saibamais&amp;id=3&amp;id_fornece=2"><img src="../img/saiba_mais.png" alt="Saiba Mais" border="0"></a></td>
              <td align="right">15 &nbsp;</td>
              <td align="left">&nbsp;R$ <input size="4" name="0[novo_preco]" id="0[novo_preco]" value="3.30" style="text-align: right;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"></td>
              <td align="center"> <input size="4" name="0[novo_imposto]" id="0[novo_imposto]" value="0" style="text-align: center;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"> %</td>
               <td align="center"><input name="0[marcado]" id="0[marcado]" type="checkbox"></td>

              <td align="center" valign="middle">
                <select name="0[condicao]" id="0[condicao]">
                  <option value="#">Condição</option>
                  <option value="1">Complemento</option>
                  <option value="2">Encarte</option>                  
                </select>
              </td>
              <td align="center">

<a href="#" onclick="validaprodutoadcionado('adcionatodos','0[novo_preco]','0[novo_imposto]','0[condicao]'); this.href='carrinho.php?op=adicionar&amp;id_produto=3&amp;novo_preco='+document.getElementById('0[novo_preco]').value+'&amp;id_fornece=2&amp;novo_imposto='+document.getElementById('0[novo_imposto]').value+'&amp;condicao='+document.getElementById('0[condicao]').value"> Enviar </a>
              </td>
            </tr><input name="1[id_prod]" id="1[id_prod]" value="4" type="hidden">
            <input name="id_fornece" id="id_fornece" value="2" type="hidden">
            <tr>
              <td align="center"><img src="../img/sem_foto.png" alt="Sem foto" border="0" width="50"></td>
              <td align="let">Farinha</td>
              <td align="let">Produtos de Padaria</td>

              <td align="center"><a href="?acao=saibamais&amp;id=4&amp;id_fornece=2"><img src="../img/saiba_mais.png" alt="Saiba Mais" border="0"></a></td>
              <td align="right">24 &nbsp;</td>
              <td align="left">&nbsp;R$ <input size="4" name="1[novo_preco]" id="1[novo_preco]" value="2.50" style="text-align: right;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"></td>
              <td align="center"> <input size="4" name="1[novo_imposto]" id="1[novo_imposto]" value="0" style="text-align: center;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"> %</td>
               <td align="center"><input name="1[marcado]" id="1[marcado]" type="checkbox"></td>
              <td align="center" valign="middle">

                <select name="1[condicao]" id="1[condicao]">
                  <option value="#">Condição</option>
                  <option value="1">Complemento</option>
                  <option value="2">Encarte</option>                  
                </select>
              </td>
              <td align="center">
<a href="#" onclick="validaprodutoadcionado('adcionatodos','1[novo_preco]','1[novo_imposto]','1[condicao]'); this.href='carrinho.php?op=adicionar&amp;id_produto=4&amp;novo_preco='+document.getElementById('1[novo_preco]').value+'&amp;id_fornece=2&amp;novo_imposto='+document.getElementById('1[novo_imposto]').value+'&amp;condicao='+document.getElementById('1[condicao]').value"> Enviar </a>

              </td>
            </tr><input name="2[id_prod]" id="2[id_prod]" value="6" type="hidden">
            <input name="id_fornece" id="id_fornece" value="2" type="hidden">
            <tr>
              <td align="center"><img src="../img/sem_foto.png" alt="Sem foto" border="0" width="50"></td>
              <td align="let">Pão</td>
              <td align="let">Produtos de Padaria</td>
              <td align="center"><a href="?acao=saibamais&amp;id=6&amp;id_fornece=2"><img src="../img/saiba_mais.png" alt="Saiba Mais" border="0"></a></td>

              <td align="right">12 &nbsp;</td>
              <td align="left">&nbsp;R$ <input size="4" name="2[novo_preco]" id="2[novo_preco]" value="3.20" style="text-align: right;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"></td>
              <td align="center"> <input size="4" name="2[novo_imposto]" id="2[novo_imposto]" value="0" style="text-align: center;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"> %</td>
               <td align="center"><input name="2[marcado]" id="2[marcado]" type="checkbox"></td>
              <td align="center" valign="middle">
                <select name="2[condicao]" id="2[condicao]">

                  <option value="#">Condição</option>
                  <option value="1">Complemento</option>
                  <option value="2">Encarte</option>                  
                </select>
              </td>
              <td align="center">
<a href="#" onclick="validaprodutoadcionado('adcionatodos','2[novo_preco]','2[novo_imposto]','2[condicao]'); this.href='carrinho.php?op=adicionar&amp;id_produto=6&amp;novo_preco='+document.getElementById('2[novo_preco]').value+'&amp;id_fornece=2&amp;novo_imposto='+document.getElementById('2[novo_imposto]').value+'&amp;condicao='+document.getElementById('2[condicao]').value"> Enviar </a>

              </td>
            </tr>
                 <tr>
                     <td colspan="8" align="center" height="50" valign="middle">
                       <input onclick="return validatodos();" value="Enviar todos os ítens" type="button">
                     </td>
                 </tr> 
                </tbody>

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...