Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
viva pessoal,
é assim eu tenho um sistema em javascript recorrendo a uma função ajax para adicionar até 5 div's.
Agora quero colocar uma opção para remover a ultima linha inserida.
Por exemplo. Eu adiciona 3 linhas (div's), em vez de remover a linha dois (já tenho esse código), quero que ele remova a div com id 3.
equipamentos.php (onde tem a funcao javascript)
// SINTAXE: ajax_function(ACÇAO, VALOR1, VALOR2, ID_LAYER_DESTINO);
ajax_function("adicionar_equipamento", "0", "", "simulador0");
//Adiconar equipamentos
function adicionar_equipamento() {
if (document.getElementById("simulador1").innerHTML == "") {
ajax_function("adicionar_equipamento","", "1", "simulador1"); return
}
if (document.getElementById("simulador2").innerHTML == "") {
ajax_function("adicionar_equipamento","", "2", "simulador2"); return
}
if (document.getElementById("simulador3").innerHTML == "") {
ajax_function("adicionar_equipamento","", "3", "simulador3"); return
}
if (document.getElementById("simulador4").innerHTML == "") {
ajax_function("adicionar_equipamento","", "4", "simulador4"); return
}
if (document.getElementById("simulador5").innerHTML == "") {
ajax_function("adicionar_equipamento","", "5", "simulador5"); return
}
}//Remover equipamentos
function remover_equipamento(simulador_id) {
document.getElementById(simulador_id).innerHTML = "";<style>div.simulador { width:100%; height: 20 px; }</style>
<div class="simulador" id="simulador0"></div>
<div class="simulador" id="simulador1"></div>
<div class="simulador" id="simulador2"></div>
<div class="simulador" id="simulador3"></div>
<div class="simulador" id="simulador4"></div>
<div class="simulador" id="simulador5"></div>
aqui tenho o link para executar a funcao remover_equipamento.
funcoes.js
function ajax_function(accao, valor, valor2, destino)
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
} xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
//alert(xmlHttp.responseText);
document.getElementById(destino).innerHTML = xmlHttp.responseText;
}
}
//Math.random() vai buscar ultimo registo enviado
xmlHttp.open("GET","funcoes.php?accao=" + accao + "&valor=" + valor + "&valor2=" + valor2,true);
xmlHttp.send(null);
}que vai buscar os dados recorrendo a php que é para inserir na div
Eu testei e não funcionou.
Por exemplo, se eu adiciono os 5 restantes div's, quando eu vou apagar ele apaga-me até ao div id = 2.
Depois se eu adicionar mais div's (até id 6) e depois tentar remover novamente, diz que já chegou ao limite.
Mas desde já obrigado pela atenção.
Já ta melhor. Coloquei o valor contador e o actual = 1.
Mas se eu apagar depois não posso voltar a adicionar. E gostaria que desse tanto para adicionar como para remover. Pra adicionar tenho a função que ja mostrei em cima
Pois entao e so testei no exemplo que mandei, rsrs foi mal.
Mas em teoria e o seguinte, voce deve criar uma variavel ou entao um array que guarda a dimensao dos divs que criou e depois ao carregar em eliminar vai eliminar o id da quantidade de divs caso comece do 0
É que isto para adicionar conteudos nas div's vai buscar dados a funcao ajax. nao sei se tem alguma coisa a ver.
Eu precisava que ele adicionasse e removesse como bem o utilizador entendesse.
É essa a grande dificuldade. Porque depois ele vai enviar os dados para inserir na base dados, e só poderia inserir aqueles que estivessem devidamente preenchidos.
Eu só preciso mesmo de saber qual é a ultima div que foi inserida, pois o meu código adiciona e remove bem.
Mas eu quero que ele remova apartir do ultimo.
Por exemplo, se eu tenho as 6 div's activas, se eu clicar em remover, a funcao tem que remover a div 6.
Eu tenho a funcao a correr para cada div, ou seja cada div tem um botao remover.
Tá meio confuso, mas espero que percebam lolol.
Nao sei se era assim mas funcionou
Isto contem 7 elementos iniciais sendo que 1 deles nao e da classe simulador ou seja o count vai ficar na primeira execucao com 6 elementos, e depois vai diminuindo ate chegar a 0, Note o elemento que nao e da classe nao e eliminado
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{
if(q[i].className=="simulador"){count++;}
}
else{alert("Fim dos elementos classe simulador")}
}