
igorfv
Membros-
Total de itens
4 -
Registro em
-
Última visita
Tudo que igorfv postou
-
Somar valores de campos dinamicos e mostrar o resultado em outro...
pergunta respondeu ao igorfv de igorfv em Ajax, JavaScript, XML, DOM
Na teoria eu entendi, agora como poderei fazer isto no prática? Vlw.. -
Bom dia amigos, Tenho um javascript que cria linhas com campos de text de um form atraves de um bt. Em cada linha existem 4 campos (codProduto, QtdItem, valorUnitario, valorTotalItem), neste JS tb multiplico os campos QtdItem e ValorUnitario e mostro o resultado no campo valorTotalItem. Até ai tudo funciona certinho, mas agora estou querendo somar todos os valores do campo valorTotalItem de cada linha e mostrar em outro campo fixo no form, que é o valorTotalNF. Como poderia armazenar estes valores e depois mostrar neste campo?? Tentei fazer, mas não consegui... Abaixo segue o código: <html> <head> <title></title> <script type="text/javascript"> //Não altere esses valores! //Baseado no código postado em: http://forum.imasters.uol.com.br/index.php?showtopic=325267 var iCount = 0; var iCampos = 1; //Definindo quantos campos poderão ser criados (máximo); var iCamposTotal = 20; //Função que adiciona os campos; function addInput() { if (iCampos <= iCamposTotal) { var texto = "<div id='linha"+iCount+"'><input type='hidden' name='valorTotalNFHidden' id='texto"+iCount+"' value=''><input type='hidden' name='valorTotalItemHidden' id='texto"+iCount+"' value=''><input type='text' name='numItem' id='texto"+iCount+"' size='3' value=''class='text'> <input type='text' name='codProduto' id='texto"+iCount+"' size='8' value=''class='text'> <input type='text' name='nomeProduto' id='texto"+iCount+"' size='22' value=''class='text'> <input type='text' name='unid' id='texto"+iCount+"' size='3' value=''class='text'> <input type='text' name='qtdItem' id='texto"+iCount+"' size='5' value='' class='text'> <input type='text' name='valorUnitario' id='texto"+iCount+"' size='8' value='' onblur='multiplica();' class='text'> <input type='text' name='valorTotalItem' id='texto"+iCount+"' size='11' value='' readonly='true' class='text'> <input type='button' value=' - ' onClick='removeInput("+iCount+")' class='botao'></div>"; //Capturando a div principal, na qual os novos divs serão inseridos: var camposTexto = document.getElementById('camposTexto'); camposTexto.innerHTML = camposTexto.innerHTML+texto; iCount++; iCampos++; } } //Função que remove os campos; function removeInput(e) { var pai = document.getElementById('camposTexto'); var filho = document.getElementById("linha"+e); document.getElementById("texto"+e).select(); if(confirm("Este item será excluído!\n\nDeseja confimar?")){ var removido = pai.removeChild(filho); iCampos--; } } // Função para multiplicar os campos qtdItem com valorUnitario function multiplica() { var trocaV = /,/g; var trocaP = /\./g; var txtValorTotalItemHidden = document.forms["form1"].elements["valorTotalItemHidden"]; var txtValorTotalNFHidden = document.forms["form1"].elements["valorTotalNFHidden"]; var txtValorTotalNF = document.forms["form1"].elements["valorTotalNF"]; var txtCodProduto = document.forms["form1"].elements["codProduto"]; var txtQtdItem = document.forms["form1"].elements["qtdItem"]; var txtValorUnitario = document.forms["form1"].elements["valorUnitario"]; var txtValorTotalItem = document.forms["form1"].elements["valorTotalItem"]; var iLoop; for (iLoop = 0; iLoop < txtCodProduto.length; iLoop++){ if ((isNaN(txtQtdItem[iLoop].value)) || (isNaN(txtValorUnitario[iLoop].value.replace(trocaV,".")))) { alert("Preencha os valores corretamente!"); } else { txtValorTotalItemHidden[iLoop].value = parseFloat(txtQtdItem[iLoop].value.replace(trocaV,".")) * parseFloat(txtValorUnitario[iLoop].value.replace(trocaV,".")); //txtValorTotalNFHidden[iLoop].value = parseFloat(txtValorTotalNFHidden[iLoop].value.replace(trocaV,".")) + parseFloat(txtValorTotalItemHidden[iLoop].value.replace(trocaV,".")); } if (txtValorTotalItemHidden[iLoop].value > 0) { txtValorTotalItem[iLoop].value = (new Number (txtValorTotalItemHidden[iLoop].value)).toFixed(2); txtValorTotalItem[iLoop].value = txtValorTotalItem[iLoop].value.toString().replace(trocaP,","); //txtValorTotalNF[iLoop].value = parseFloat(txtValorTotalNF[iLoop].value.replace(trocaV,".")) + parseFloat(txtValorTotalItemHidden[iLoop].value.replace(trocaV,".")); //alert ("txtValorTotalNFHidden: " + txtValorTotalNFHidden[iLoop].value); } else { txtValorTotalItem[iLoop].value = ""; } } alert ("txtValorTotalNF: " + txtValorTotalNF.value); } // Valida os campos requeridos do formulário de itens da NF function validaForm(){ var txtCodProduto = document.forms["form1"].elements["codProduto"]; var txtQtdItem = document.forms["form1"].elements["qtdItem"]; var txtValorUnitario = document.forms["form1"].elements["valorUnitario"]; var iLoop; var txtNumNF = document.forms["form1"].elements["numNF"]; var txtDataEmissaoNF = document.forms["form1"].elements["dataEmissaoNF"]; if (txtNumNF.value == ""){ alert("Favor preencher o campo N°. NF! "); txtNumNF.focus(); return false; } if (txtDataEmissaoNF.value == ""){ alert("Favor preencher o campo Data Emissão! "); return false; } for (iLoop = 0; iLoop<txtCodProduto.length; iLoop++){ if (txtCodProduto[iLoop].value == ''){ alert("Favor preencher o campo CÓDIGO do item "+ iLoop + "."); txtCodProduto[iLoop].focus(); return false; } if (txtQtdItem[iLoop].value == ''){ alert("Favor preencher o campo QUANTIDADE do item "+ iLoop + "."); txtQtdItem[iLoop].focus(); return false; } if (txtValorUnitario[iLoop].value == ''){ alert("Favor preencher o campo VALOR UNITÁRIO do item "+ iLoop + "."); txtValorUnitario[iLoop].focus(); return false; } } return true; } </script> </head> <body> <form name="form1" id="form1" action="" method="post" onSubmit="return validaForm();"> <input type="button" value=" + " name="add_input" id="add_input" onClick="addInput();"> <table width="550" border="1" cellpadding="0" cellspacing="0" bordercolor="#999999" bgcolor="#FFFFFF"> <tr> <td width="37" bordercolor="#FFFFFF" bgcolor="#CCCCCC" height="18"><div align="center" class="texto0">Item</div></td> <td width="64" bordercolor="#FFFFFF" bgcolor="#CCCCCC" height="18"><div align="center" class="texto0">Código</div></td> <td width="152" bordercolor="#FFFFFF" bgcolor="#CCCCCC" height="18"><div align="center" class="texto0">Produto</div></td> <td width="38" bordercolor="#FFFFFF" bgcolor="#CCCCCC" height="18"><div align="center" class="texto0">Unid</div></td> <td width="46" bordercolor="#FFFFFF" bgcolor="#CCCCCC" height="18"><div align="center" class="texto0">Qtd</div></td> <td width="69" bordercolor="#FFFFFF" bgcolor="#CCCCCC" height="18"><div align="center" class="texto0">Valor Unit</div></td> <td width="81" bordercolor="#FFFFFF" bgcolor="#CCCCCC" height="18"><div align="center" class="texto0">Valor Total</div></td> <td width="50" bordercolor="#FFFFFF" bgcolor="#CCCCCC" height="18"><div align="center" class="texto0">Excluir</div></td> </tr> </table> <table width="550" border="1" cellpadding="0" cellspacing="0" bordercolor="#999999" bgcolor="#FFFFFF"> <tr> <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><div id="camposTexto"></div><input type="hidden" name="hidden1" id="hidden1" value=""></td> </tr> <tr> <td><input type="text" name="valorTotalNF" size="10"></td> </tr> </table> <br> <br> <input type="submit" value="Enviar"> </form> </body> </html> Vlw..
-
O que esta ocorrendo é o seguinte: No list menu FABRICANTE, quando seleciono a opcao FIAT, ao invés de carregar todos os modelos do fabricante FIAT, é carregado todos os modelos FIAT, FORD, VOLKS, GM e etc, causando um carregamento desnecessario e duvidoso, pois imagine ter centenas de modelos de varios fabricantes, ele então ira mostrar todos esses modelos, ao invés de mostrar so os modelos do fabricante selecionado no list anterior. Teria como fazer isso amigo?, alterar esse codigo que postei ai? Estou usando ASP com ACCESS. Agradeço amigos....
-
Boa tarde amigos. Estou tentando fazer uma busca por colunas diferentes, ela funciona corretamente. So q por exemplo quando no 1 list menu eu seleciono a opcao FIAT, no 2 list é mostrado todos os modelos de todos os fabricantes (UNO, KA E ETC) e não por exemplo: quando selelcionar FIAT, no 2 list mostrar somente os modelos do fabricante correspondente...UNO, PALIO...ETC... Teria como fazer isso amigos? Aq vai o código: <form method="get" name="form1" action="busca_veiculos_results.asp"> <table align="center"> <tr valign="baseline"> <th nowrap align="right">Fabricante:</th> <td><select name="fabricante2"> <option value=""></option> <% var colValue; var index; var colValueArray = new Array(); var colValueFind = false; while (!rs_busca.EOF) { colValueFind = false; colValue = rs_busca.Fields.Item("fabricante").Value; if (colValue != null) { colValue = "" + colValue; if (colValue == "") colValue = " "; for (index=0; index < colValueArray.length; index++) { if (trim(colValue.toUpperCase()) == trim(colValueArray[index].toUpperCase())) { colValueFind = true; break; } } } else { colValueFind = true; } if (colValueFind == false){ %> <option value="<%=(rs_busca.Fields.Item("id_fab").Value)%>"><%= colValue %></option> <% colValueArray.push(colValue); } rs_busca.MoveNext(); } if (rs_busca.CursorType > 0) { if (!rs_busca.BOF) rs_busca.MoveFirst(); } else { rs_busca.Requery(); } %> </select> </td> </tr> <tr valign="baseline"> <th nowrap align="right">Modelo:</th> <td><select name="modelo2"> <option value=""></option> <% var colValue; var index; var colValueArray = new Array(); var colValueFind = false; while (!rs_busca.EOF) { colValueFind = false; colValue = rs_busca.Fields.Item("modelo").Value; if (colValue != null) { colValue = "" + colValue; if (colValue == "") colValue = " "; for (index=0; index < colValueArray.length; index++) { if (trim(colValue.toUpperCase()) == trim(colValueArray[index].toUpperCase())) { colValueFind = true; break; } } } else { colValueFind = true; } if (colValueFind == false){ %> <option value="<%=(rs_busca.Fields.Item("modelo").Value)%>"><%= colValue %></option> <% colValueArray.push(colValue); } rs_busca.MoveNext(); } if (rs_busca.CursorType > 0) { if (!rs_busca.BOF) rs_busca.MoveFirst(); } else { rs_busca.Requery(); } %> </select> </td> </tr> <tr valign="baseline"> <td nowrap align="right"> </td> <td><input type="hidden" name="AdvSearch" value="AdvSearch"> <input type="submit" value="Search"></td> </tr> </table> </form>