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).
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.