Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужно скрутить два скрипта
 
 автор: netas   (14.06.2010 в 09:57)   письмо автору
 
 

Я уже поднимал эту тему на форуме, но видать только запутал общественность.
Изложу понятнее.
Есть форма, кот. выводит из базы список клиентов для удаления.

<form action="drop.php" method="post"> 
  
 <? 
$res 
mysql_query("SELECT iid,name FROM clients WHERE master=$id");  
$row mysql_fetch_array($res); 
     
do 

$iid=$row['iid']; 
$name=$row['name'];     
printf ("<input name='id' type='radio' value='$iid'>$name</a>"); 

while (
$row mysql_fetch_array ($res)); 

else 
{echo 
"Пока нет клиентов";} 
?> 
     
<input name="del" type="submit" value="Удалить">    
</form> 


При выборе радиокнопкой одного из клиентов и нажатии кнопки "Удалить" вызывается скрипт обработчика drop.php и удаляет.

Что нужно
При нажатии на кнопку "Удалить" вывести окошко с предупреждением "да" "нет" (может человек случайно нажал на "Удалить") и если да, то отправить, нет - не отправлять.
Понятно, можно это сделать при помощи Javascript (мне тут даже подсказали, как это сделать), но хочется сделать как-то покрасивше, да и Яваскрипт может быть выключен.
Вот нашёл такой скрипт на Jquery, где при нажатии на кнопку "Показать модальное окно" темнеет экран и появляется красивое окошко:

<input type="button" id="show_modal" value="Показать модальное окно">

<div id="modal_dialog" style="display:none; cursor: default" class="dialog">
  <div class="dialog_title_bar">
    <div class="dialog_caption">Клиент будет удалён</div>
    <div class="rotes_kreuz"></div>
  </div>
   <div class="dialog_pane">
    <div>Вы уверены?</div>
    <div style="margin-top: 10px;">
     <form action="" method="POST">
       <input type="button" id="yes" value="Да" class="dialog_button"/>
       <input type="button" id="no" value="Нет" class="close_dialog dialog_button" />
     </form>
    </div>
 </div>
</div>


Вот как тут можно увязать эти скрипты, чтобы при нажатии на "Удалить" срабатывал второй скрипт и дальше уже отправлял или нет?

  Ответить  
 
 автор: seitbekir   (14.06.2010 в 10:43)   письмо автору
 
   для: netas   (14.06.2010 в 09:57)
 

через js, и/или условием

там типа
<script>
function danu(){
con = confirm('удалить?');
if(con == true){document.Fname.submit();
}else{
alert('нет');
}
}
</script>

<input name="del" type="button" onclick="danu();" value="Удалить"> 

  Ответить  
 
 автор: sim5   (14.06.2010 в 11:59)   письмо автору
 
   для: netas   (14.06.2010 в 09:57)
 

> но хочется сделать как-то покрасивше, да и Яваскрипт может быть выключен

А кто это еще без JS может открывать окна, управлять объектами на странице? А jQuery это что по вашему? Это чистейший JavaScript учитывающий не только рекомендации W3C, но и прихоти различных браузеров - это JS-библиотека. Но если пользователь отключил JS, то никой jQuery не поможет, и красивых окошечек не будет.

Хотите научится программировать? Тогда запомните раз и навсегда - не оперируйте терминами, значения которых вы не знаете, иначе вам даже Гугл в поиске не поможет, ибо находить он будет совсем не то, чего вы ожидаете.
DIV не имел, не имеет, и не будет иметь никакого отношения к окнам, а тем более к модальным. Это просто элемент на странице - DOM объект документа. Модальное окно (модальный формуляр), это тип окна приложения, который предоставляет WinAPI, но поддерживет только браузер IE.

Вы гонясь за красивостью можете вогнать пользователей в бешенство. Вот к чему у вас две кнопки "Да"-"Нет", и по нажатию на первую, пользователя еще раз ожидает "Да"-"Нет"? Достаточно одной кнопки SUBMIT, и обработки события onchange формы (как я вам уже показывал), чтобы и задать вопрос, и принять решение по отправке формы. Эти кнопки должны быть кнопками диалога "Отправить?", а не кнопками формы!

  Ответить  
 
 автор: seitbekir   (14.06.2010 в 22:31)   письмо автору
 
   для: sim5   (14.06.2010 в 11:59)
 


//принемаен радииобатон и пишем его в переменную
if(isset($_REQUEST['mark']) or $_REQUEST['mark'] == 1){Удалять}else{форма вопроса с поступившими данными}


к примеру

<input type="button" id="show_modal" value="Показать модальное окно"> 

<div id="modal_dialog" style="display:none; cursor: default" class="dialog"> 
  <div class="dialog_title_bar"> 
    <div class="dialog_caption">Клиент будет удалён</div> 
    <div class="rotes_kreuz"></div> 
  </div> 
   <div class="dialog_pane"> 
    <div>Вы уверены?</div> 
    <div style="margin-top: 10px;"> 
     <form action="" method="POST">
      <input type='hidden' value='та переменная с радиобатоном' name='id'> 
       <button type="submit" name="mark" value="1" class="dialog_button"/>Да</button> 
       <input type="button" id="no" value="Нет" class="close_dialog dialog_button" /> 
     </form> 
    </div> 
 </div> 
</div>

  Ответить  
 
 автор: sim5   (15.06.2010 в 05:49)   письмо автору
 
   для: seitbekir   (14.06.2010 в 22:31)
 

Задолбали вы уже с радиобаттоном. Кнопки "Да" и "Нет" должны быть кнопками диалога, а не формы, которую отправляют, а радио/чекбокс должны принадлежать этой форме.
Впрочем, вы можете плодить кучи форм с таким подходом, как и автор, пытаясь потом "скрутить" их вместе.
<script>
function func() {
 document.getElementById('bt').style.display = 'block';
}
function sender(v) {
  document.getElementById('bt').style.display = 'none';
  if(v) document.getElementById('frm').submit();
}
</script>

<form id="frm" action="url">
<input type="radio" name="del" value="11">11
<input type="radio" name="del" value="22">22
<input type="radio" name="del" value="33">33
<input type="button" onclick="func()" value="Отправить">
</form>

<div id="bt" style="display: none;">
<p>Отправить форму?</p>
<input type="button" lang="1" onclick="sender(this.lang)" value="Да">
<input type="button" lang="" onclick="sender(this.lang)" value="Нет">
</div>

А вот диалог bt, тут уж наводите красивости.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования