Jump to content


JackJeff's Content

There have been 2 items by JackJeff (Search limited from 17/04/2023)


Ordernar por                Order  

#1038044 Formulário para calculo de produtos

Posted by JackJeff on 30/01/2017, 18:40 in Javascript / DOM / AJAX / ECMAScript

Boa noite a todos,

Sou novo no fórum e iniciante em scripts e gostaria de uma ajuda para fazer um formulário de pedidos funcionar com cálculo dos itens escolhidos pelo cliente.
Os itens tem valor pré estabelecido e preciso do seguinte:
- Quando o cliente escolher a quantidade, essa quantidade deverá ser multiplicada pelo valor unitário pré estabelecido.
- Se o cliente escolher um opcional também com valor pré estabelecido, esse opcional seja acrescido no valor do item.
- Sempre deverá ser acrescido ao valor final, uma taxa de entrega também com valor pré estabelecido.
- Haverá campos que mostrará os valores totais por itens e outro campo que mostram o valor total da compra.
- Existe um botão "Adicionar Campos" e " Excluir Campos" e o valor final da compra deve respeitar a soma de todos os campos adicionados.
Caso o cliente exclua o campo, o valor total será também atualizado conforme a quantidade de itens.
-  Preciso que o formulário efetue o cálculo automaticamente, sem que seja necessário um botão "Calcular".

*Todos os campos devem ser obrigatórios.

Abaixo envio o formulário que tenho, onde preciso que essas funções sejam colocadas.
Desde já, agradeço a atenção e a ajuda de todos.
Muito obrigado. 

 

 

 
<!DOCTYPE html>
<html lang="pt-br">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Teste</title>
    <!-- CSS START -->
    <link href="assets/css/bootstrap.min.css" rel="stylesheet">
    <link href="assets/css/style.css" rel="stylesheet">
    <!-- CSS END -->
    <!--[if lt IE 9]>
<![endif]-->
    <!-- CLONA CAMPOS -->
    <!-- <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</script> -->
    <script type="text/javascript">
    // if Google is down, it looks to local file...
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='assets/js/jquery-1.9.1.min.js' type='text/javascript'%3E%3C/script%3E"));
    }
    </script>
    <script type="text/javascript" src="assets/js/clone-form-td.js"></script>
    <!-- FIM CLONA CAMPOS -->
    <div class="container">
          <form class="contact-form" method="post" action="">
        <br>
        <div id="entry1" class="clonedInput"><!-- DIV CLONA CAMPOS -->
              <div class="col-sm-4">
            <p class="contact-form-email">
                  <label for="footer-produtos">Escolha seus produtos<span class="required">*</span></label>
                  <select name="Selecione" class="form-control">
                <option>Escolha</option>
                <option>Item 1 - R$ 18,50</option>
                <option>Item 2 - R$ 18,50</option>
                <option>Item 3 - R$ 20,00</option>
                <option>Item 4 - R$ 20,00</option>
                <option>Item 5 - R$ 25,00</option>
                <option>Item 6 - R$ 25,00</option>
                <option>Item 7 - R$ 18,50</option>
                <option>Item 8 - R$ 18,50</option>
                <option>Item 9 - R$ 18,50</option>
                <option>Item 10 - R$ 18,50</option>
                <option>Item 11 - R$ 18,50</option>
                <option>Item 12 - R$ 18,50</option>
                <option>Item 13 - R$ 18,50</option>
                <option>Item 14 - R$ 18,50</option>
                <option>Item 15 - R$ 18,50</option>
                <option>Item 16 - R$ 18,50</option>
                <option>Item 17 - R$ 18,50</option>
                <option>Item 18 - R$ 18,50</option>
                <option>Item 19 - R$ 18,50</option>
                <option>Item 20 - R$ 18,50</option>   
                <option>Item 21 - R$ 18,50</option>
                <option>Item 22 - R$ 18,50</option>
                <option>Item 23 - R$ 18,50</option>
                <option>Item 24 - R$ 18,50</option>
                <option>Item 25 - R$ 18,50</option>                  
                <option>Item 26 - R$ 18,50</option>
                <option>Item 27 - R$ 18,50</option>                
                <option>Item 28 - R$ 18,50</option>                
                <option>Item 29 - R$ 18,50</option>                                           
              </select>
                </p>
          </div>
              <div class="col-sm-2">
            <p class="contact-form-email">
                  <label for="footer-quantidade">Quantidade<span class="required">*</span></label>
                  <select name="Selecione" class="form-control">
                <option>Escolha</option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
                <option>9</option>
                <option>10</option>
                <option>11</option> 
                <option>12</option>                               
                <option>13</option>
                <option>14</option>  
                <option>15</option>                                              
              </select>
                </p>
          </div>
              <div class="col-sm-4">
            <p class="contact-form-email">
                  <label for="footer-quantidade">Opcional</span></label>
                  <select name="Selecione" class="form-control">
                <option>Escolha</option>
                <option>Sem opcional</option>
                <option>Opcional 1 - R$ 6,50</option>
                <option>Opcional 2 - R$ 6,50</option>
                <option>Opcional 3 - R$ 6,50</option>
                <option>Opcional 4 - R$ 6,50</option>    
                <option>Opcional 5 - R$ 6,50</option>  
                <option>Opcional 6 - R$ 6,50</option>
                <option>Opcional 7 - R$ 6,50</option>
                <option>Opcional 8 - R$ 6,50</option>
              </select>
                </p>
          </div>          
              <div class="col-sm-2">
            <p class="contact-form-email">
                  <label for="footer-valor">Valor</label>
                  <input type="valor" aria-required="true" size="30" value="" name="valor" id="footer-valor" class="form-control" placeholder="VALOR">
                </p>
          </div>
            </div>
        <!-- FECHA DIV CLONA CAMPOS --> 
        <!-- ADICIONA CAMPOS -->
        <div id="addDelButtons" class="col-sm-4">
              <label for="footer-valor">&nbsp;</label>
              <input type="button" id="btnAdd" value="Adicionar + itens" class="form-control">
            </div>
        <div id="addDelButtons" class="col-sm-4">
              <label for="footer-valor">&nbsp;</label>
              <input type="button" id="btnDel" value="Excluir" class="form-control">
            </div>
        <div class="col-sm-2">
              <p class="contact-form-email">
            <label for="footer-valor">Taxa de entrega</label>
            <input type="total" aria-required="true" size="30" value="" name="total" id="footer-total" class="form-control" placeholder="R$ 4,00">
          </p>
            </div>
        <!-- FIM ADICIONA CAMPOS -->
        <div class="col-sm-2">
              <p class="contact-form-email">
            <label for="footer-valor">Valor total</label>
            <input type="total" aria-required="true" size="30" value="" name="total" id="footer-total" class="form-control" placeholder="VALOR TOTAL">
          </p>
            </div>
        <div class="col-sm-12">
              <label for="footer-valor">Valor total</label>
            </div>
        <div class="col-sm-4">
              <p class="contact-form-email">
            <input type="total" aria-required="true" size="30" value="" name="total" id="footer-total" class="form-control" placeholder="REPETE VALOR TOTAL">
          </p>
            </div>
        <div class="col-sm-8">
              <button type="submit" class="btn btn-danger pull-right" onclick="contact_send();">Enviar Pedido</button>
            </div>
      </form>
        </div>
    <!-- FIM DO FORM DE COMPRA --> 
    <!-- INÍCIO INFORMAÇÕES -->
<!-- FOOTER BOTTOM END --> 
<!-- JAVASCRIPT START --> 
<script src="assets/js/jquery.min.js"></script> 
<script src="assets/js/bootstrap.min.js"></script> 
<script src="assets/js/ruxen.js"></script> 
<!-- JAVASCRIPT END -->
</body>
</html>



#1023688 Formulário Dinâmico

Posted by JackJeff on 30/07/2016, 23:51 in Javascript / DOM / AJAX / ECMAScript

Boa noite a todos,

 

Gostaria de obter a ajuda de vocês com a relação a uma dúvida com a criação de um formulário dinâmico.
Não tenho experiência em Javascript e preciso colocar alguns campos dinâmicos em um formulário.

Neste formulário, existem os campos "Produto", "Medidas", "Quantidade" e "Acabamento".
Preciso colocar um botão "Adicionar Produtos" logo abaixo destes campos e quando esse botão for clicado, gostaria que outros campos "Produto", "Medidas", "Quantidade" e "Acabamento" fossem adicionados automaticamente.

Juntamente com o botão "Adicionar Produtos".
Junto com esses novos campos, deve haver o botão "Excluir" para que o cliente possa apagar os campos adicionais se assim desejar.

Se possível, preciso também do PHP para envio deste formulário.

Tenho um código que estou tentando ajustar para este fim, mas ele habilita apenas um campo e não todos os campos que preciso, mas como não tenho experiência, não estou conseguindo resolver.
desde já, agradeço a todos pela ajuda.

 

Segue o código HTML:

 

<!DOCTYPE html>
<html class="no-js">
<!--<![endif]-->
<head>
<meta charset="utf-8">
</head>
<body>
<div id="canvas">
  <div id="box_wrapper">
    <form class="contact-form" method="post" action="">
    <h2>Informe seus dados</h2>
    <p class="contact-form-name">
      <label for="footer-name">Nome<span class="required">*</span></label>
      <input type="text" aria-required="true" size="30" value="" name="name" id="footer-name" class="form-control" placeholder="">
    </p>
    <p class="contact-form-phone">
      <label for="footer-telefone">Telefone<span class="required">*</span></label>
      <input type="text" aria-required="true" size="30" value="" name="telefone" id="footer-phone" class="form-control" placeholder="">
    </p>
    <p class="contact-form-email">
      <label for="footer-info">E-mail<span class="required">*</span></label>
      <input type="email" aria-required="true" size="30" value="" name="email" id="footer-email" class="form-control" placeholder="">
    </p>
    <p class="contact-form-email">
      <label for="footer-info">Endereço<span class="required">*</span></label>
      <input type="email" aria-required="true" size="30" value="" name="email" id="footer-email" class="form-control" placeholder="">
    </p>
    <div class="col-sm-4">
      <p class="contact-form-email">
        <label for="footer-info">Complemento<span class="required">*</span></label>
        <input type="email" aria-required="true" size="30" value="" name="email" id="footer-email" class="form-control" placeholder="">
      </p>
    </div>
    <div class="col-sm-4">
      <p class="contact-form-email">
        <label for="footer-info">Bairro<span class="required">*</span></label>
        <input type="email" aria-required="true" size="30" value="" name="email" id="footer-email" class="form-control" placeholder="">
      </p>
    </div>
    <div class="col-sm-4">
      <p class="contact-form-email">
        <label for="footer-info">Cidade<span class="required">*</span></label>
        <input type="email" aria-required="true" size="30" value="" name="email" id="footer-email" class="form-control" placeholder="">
      </p>
    </div>
    <div class="container">
    <form class="contact-form" method="post" action="">
      <div class="col-sm-4">
        <p class="contact-form-email">
          <label for="footer-info">Produto<span class="required">*</span></label>
          <select name="Selecione" class="form-control">
            <option>Selecione</option>
            <option>Item 1</option>
            <option>Item 2</option>
            <option>Item 3</option>
            <option>Item 4</option>
            <option>Item 5</option>
          </select>
        </p>
      </div>
      <div class="col-sm-4">
        <p class="contact-form-email">
          <label for="footer-info">Medidas<span class="required">*</span></label>
          <input type="medidas" aria-required="true" size="30" value="" name="medidas" id="footer-email" class="form-control" placeholder="">
          </select>
        </p>
      </div>
      <div class="col-sm-2">
        <p class="contact-form-email">
          <label for="footer-info">Quantidade<span class="required">*</span></label>
          <input type="email" aria-required="true" size="30" value="" name="email" id="footer-email" class="form-control" placeholder="">
        </p>
      </div>
      <div class="col-sm-2">
        <p class="contact-form-email">
          <label for="footer-info">Acabamento<span class="required">*</span></label>
          <select name="Selecione" class="form-control">
            <option>Selecione</option>
            <option>Sim</option>
            <option>Não</option>
          </select>
        </p>
      </div>
      <div id="campoPai"> </div>
      <br>
      <input type="button" value="Clique aqui para adicionar + Produtos" class="form-control" onclick="addCampos()">
      <p class="contact-form-pedido"> <br>
        <label for="footer-message">Informações</label>
        <textarea aria-required="true" rows="6" cols="45" name="message" id="footer-message" class="form-control" placeholder=""></textarea>
      </p>
      <p class="contact-form-submit topmargin_40">
        <button type="submit" id="footer_contact_form_submit" name="contact_submit" class="theme_button color1">Enviar</button>
      </p>
    </form>
  </div>
</div>
<!-- eof #box_wrapper -->
</div>
<!-- eof #canvas --> 
<script src="js/compressed.js"></script> 
<script src="js/main.js"></script> 
<!-- Scriptpara adicionar campos --> 
<script type="text/javascript">
var qtdeCampos = 0;
 
function addCampos() {
var objPai = document.getElementById("campoPai");
//Criando o elemento DIV;
var objFilho = document.createElement("div");
//Definindo atributos ao objFilho:
objFilho.setAttribute("id","filho"+qtdeCampos);
 
//Inserindo o elemento no pai:
objPai.appendChild(objFilho);
//Escrevendo algo no filho recém-criado:
document.getElementById("filho"+qtdeCampos).innerHTML = "<input type='text' id='campo"+qtdeCampos+"' name='campo[]'> <input type='button' onclick='removerCampo("+qtdeCampos+")' value='Excluir'>";
qtdeCampos++;
 
}
 
function removerCampo(id) {
var objPai = document.getElementById("campoPai");
var objFilho = document.getElementById("filho"+id);
 
//Removendo o DIV com id específico do nó-pai:
var removido = objPai.removeChild(objFilho);
}
</script> 
<!-- fim script adicionar campos --> 
<!-- <script src="js/switcher.js"></script> -->
 
</body>
</html>
 




IPB Skin By Virteq