Сохранение переменной для дальнейшего использования
Пытаюсь реализовать интерфейс удаления элемента из бд, но столкнулся с непонятками, помогите если не влом.
php формирует список элементов при нажатии элемент нужно передать его id и вызвать форму div c Удалить? "ДА","НЕТ", при нажатии на "НЕТ" форму закрываем, при нажатии на "ДА"-> ajax запрос и удаляем элемент по id. Проблема в том что у меня этот id теряется, т.е при выборе элемента из списка я его получаю, а при нажатии на кнопку "ДА", он исчезает и соответственно удалить я его не могу. Вопрос как мне сохранить значение id для дальнейшего использования. В php я бы сделал так. if(id=число) { $_SESSION['id']=id;//ну а потом где угодно используй } Вот код: PHP файл формирующий список:
Цикл
{
<td><input type='image' onClick='delete_virtual_org(\"$row[id]\");' src='pic/16/delete_16.png'></td>
}
HTML:
<div id='delete_form'>
<button onclick='delete_virtual_org(\"delete\")'>Да</button>
<button onclick='delete_virtual_org(\"cancel\")' >Нет</button>
</div>
javascript:
function delete_virtual_org(value)
{
var div = document.getElementById('delete_form');
if(div.style.display == 'none')
{
div.style.display = 'block';
document.getElementById('opacity_background').style.opacity='0.5'
document.getElementById('opacity_background').style.zIndex='2000'
}
if(value=='cancel')
{
div.style.display = 'none';
document.getElementById('opacity_background').style.opacity='0'
document.getElementById('opacity_background').style.zIndex='-1000'
}
if(value=='delete')
{
xhttp=new XMLHttpRequest();
xhttp.onreadystatechange=function(){
if (xhttp.readyState==4 && xhttp.status==200)
div.style.display = 'none';
document.getElementById('opacity_background').style.opacity='0'
document.getElementById('opacity_background').style.zIndex='-1000'
}
xhttp.open('POST','php/workspace/admin_interface/virtual_organizations/ajax_delete_virtual_org.php',true);
<!--Установим тип передаваемого содержимого как у форм-->
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhttp.send('id='+value);
}
}
Проблема собственно с переменной value т.к в момент удаления она содержит значение "delete" а не id. Объясните как это можно сделать. |
<button onclick='delete_virtual_org(\"delete\",\"Form_ID \")'>Да</button>
|
Я не очень понял
А откуда в возьмется Form_ID? Я в том смысле что: Список-(Передаем id записи и открываем форму)-в форме кнопка ДА,мне надо как то передать заначение id-элемента из списка это кнопке? |
Цитата:
Вариант раз: (если я правильно понял что кнопка на каждую форму своя, дык проставляете PHP(ой) и ID удаляемого элемента и в кнопке |
Как бы объяснить.
Нет форма общая для всех -это просто контейнер для кнопок "ДА" и "НЕТ". Мне одной функции delete_virtual_org() нужно передать сначала id-(порядковый номер элемента в базе), а вот удалить его только после нажатия на кнопку "ДА". Вы предлагаете функции передать два аргумента. <button onclick='delete_virtual_org(\"delete\",\"Form_ID \")'>Да</button> С "delete" все понятно он руками забит, а вот Form_ID как я не понимаю? Ведь он существует при первом запуске формы. |
Цитата:
|
Eser,
Ну всё одно - какая сложность на серве вставить в кнопку id,? того, что оно должно удалить ? |
Да конечно могу.
Может вы так имели ввиду?: <button onclick='delete_virtual_org(\"delete\")' id='virtual_org_delete_button'>Да</button> Т.е добавляем id кнопки. А функции делаем так:
function delete_virtual_org(value)
{
if(!isNaN(value))
{
var id=value;
document.getElementById('virtual_org_delete_button').value=value;//Т.е теперь кнопка знает что ее значение = value
}
}
И при нажатии на нее мы получим тот же самый id обратно.
|
Цитата:
<button onclick='delete_virtual_org(\"delete\", \"virtual_org_delete_button\")'>Да</button>
function delete_virtual_org(value, id)
{
...
}
|
Ура все получилось!
Спасибо большое!!! |
| Часовой пояс GMT +3, время: 00:56. |