Jump to content
Fórum Script Brasil
  • 0

Quantos campos antes do submit();


Carlos Rocha

Question

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)
{
 ...

Edited by Carlos Rocha
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...