Сохранение переменной для дальнейшего использования
Пытаюсь реализовать интерфейс удаления элемента из бд, но столкнулся с непонятками, помогите если не влом.
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, время: 09:53. |