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?