Ir para conteúdo
Fórum Script Brasil

renatavp

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre renatavp

renatavp's Achievements

0

Reputação

  1. Bom dia, rapazes. Vamos ver se alguém pode me ajudar? Estou tentando remover campos que estão dentro de um loop vindo bd. Os campos/registros: <% for i = 0 to (v) next do while not rs.eof itens = rs("itens") codigo = rs("codigo") valoru = rs("valoru") icmsc = rs("icmsc") outrasc = rs("outrasc") precocu = rs("precocu") quant = rs("quant") subtotalc = rs("subtotalc") valorv = rs("valorv") icmsv = rs("icmsv") comissao = rs("comissao") outrasv = rs("outrasv") impostosv = rs("impostosv") precovu = rs("precovu") subtotalv = rs("subtotalv") icmsvvl = rs("icmsvvl") comissaovvl = rs("comissaovvl") impostosvvl = rs("impostosvvl") outrosvvl = rs("outrosvvl") %> <div id="parentDiv"> <div id="childDiv<%=itens%>"> <table width="1155" border="0" cellpadding="0" cellspacing="2" bordercolor="#FFFFFF" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px"> <tr> <td width="20" height="25" bgcolor="#CCCCCC"><div align="left"> <label> <input type="text" name="item<%=itens%>" id="item<%=itens%>" style="width:18px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; color:#6699FF; border: #CCCCCC 1px solid" value="<%=itens%>"/> </label> </div></td> <td width="86" height="25" bgcolor="#CCCCCC"><div align="left"> <input type="text" name="codigo<%=itens%>" id="codigo<%=itens%>" style="width:80px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; color:#000000; border: #CCCCCC 1px solid; background-color:#CCCCCC" value="<%=codigo%>"/> </div></td> <td width="90" height="25" bgcolor="#CCCCCC"><div align="left"> R$ <input type="text" name="valoru<%=itens%>" id="valoru<%=itens%>;" style="width:70px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; color:#000000; border: #CCCCCC 1px solid; background-color:#CCCCCC" value="<%=valoru%>" onChange="somac(<%=itens%>)" onBlur="orcamentoc()" /> </div></td> ... E assim por diante. Agora estou tentando criar uma função js pra deletar esses campos. A função: <script type="text/javascript"> function removeElement(i){ var v = <%=v%> for (i=0;i<v;i++) { if (document.getElementById("childDiv"+i)) { var childDiv = document.getElementById("childDiv"+i); var parent = document.getElementById("parentDiv"); parent.removeChild(childDiv); } else { alert("Child div \n» "+i+"\nhas already been removed or does not exist."); return false; } } } </script> Que é chamada assim: <input type="button" value="-" onClick="removeElement(<%=itens%>)"> Lembrando que os outros campos dinâmicos são adicionados com esse js: <script language="JavaScript" type="text/javascript"> var v = <%=v%> //Não altere esses valores! var x = v+1 var i = 0; var iCampos = 1; var hiddenc; //Definindo quantos campos poderão ser criados (máximo); var iCamposTotal = 30; //Função que adiciona os campos; function addInput() { if (x <= iCamposTotal) { hiddenc = document.getElementById("hiddenc"); //Criando uma variável que armazenará as informações da linha que será criada. //Os campos estão sendo colocados no interior de uma div, pois a linha contém muitos elementos; //Basta excluir a div, para excluir todos os elementos da linha; var texto = "<div id='linha"+x+"'><input type='hidden' name='texto"+x+"' id='texto"+x+"' value=''><table width='1155' border='0' cellpadding='2' cellspacing='2' bordercolor='#FFFFFF' style='font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px'><tr><td height='25' bgcolor='#CCCCCC'><div align='left'><label><input type='text' name='item"+x+"' id='item"+x+"' value='"+x+"' style='width:18px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9px; color:#6699FF' readonly='readonly'/></label></div></td> (E por aí vai… mais isso:) //Capturando a div principal, na qual os novos divs serão inseridos: var my_div = document.getElementById('my_div'); my_div.innerHTML = my_div.innerHTML+texto; //Escrevendo no hidden os ids que serão passados via POST; //No código ASP ou PHP, você poderá pegar esses valores com um split, por exemplo; if (hiddenc.value == "") { document.getElementById("hiddenc").value = x; }else{ document.getElementById("hiddenc").value += ","+x; } x++; iCampos++; } } E deletados com esse js (que funciona, deleta): //Função que remove os campos; function removeInput(e) { var pai = document.getElementById('my_div'); var filho = document.getElementById(e); hiddenc = document.getElementById("hiddenc"); var campoValor = document.getElementById("texto"+e.substring(5)).value; var lastNumber = hiddenc.value.substring(hiddenc.value.lastIndexOf(",")+1); if(confirm("O item será excluído permanentemente!Deseja prosseguir?")){ var removido = pai.removeChild(filho); //Removendo o valor de hiddenc: if (e.substring(5) == hiddenc.value) { hiddenc.value = hiddenc.value.replace(e.substring(5),""); }else if(e.substring(5) == lastNumber) { hiddenc.value = hiddenc.value.replace(","+e.substring(5),""); }else{ hiddenc.value = hiddenc.value.replace(e.substring(5)+",",""); } x--; iCampos--; } } Então, tenho que deletar os campos gerados pelo bd e diminuir o número de campos geral (ou seja: tem 10 campos no loop do bd + 2 dinâmicos = 12 campos geral. Se deletar 1 dinâmico, campos geral = 11. Ou, outra hipótese, se deletar 2 no loop do bd, campos geral = 10). Alguém pode me ajudar?
  2. tenho uma função de calculadora, mas preciso que os valores sejam formatados em valor monetário. É isso: <script language="JavaScript"> function somac(i){ document.getElementById("subtotalc"+ i).value = '0' var valoru = parseFloat(document.getElementById("valoru"+ i).value); var quant = parseFloat(document.getElementById("quant"+ i).value); var icmsc = parseFloat(document.getElementById("icmsc"+ i).value); var outrasc = parseFloat(document.getElementById("outrasc"+ i).value); var valorxquant = valoru * quant var porcento = icmsc / '100' * valorxquant document.getElementById("subtotalc"+ i).value = valorxquant - porcento + outrasc; } </SCRIPT> É só pra pessoa formatar normal os números tipo 10.450,23... E sair o resultado certo. Sei que tem que usar o replace aí, só não sei como! Podem me ajudar?
×
×
  • Criar Novo...