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>
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).
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
renatavp
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:
E assim por diante. Agora estou tentando criar uma função js pra deletar esses campos. A função: Que é chamada assim: Lembrando que os outros campos dinâmicos são adicionados com esse js: (E por aí vai… mais isso:) E deletados com esse js (que funciona, deleta):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?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.