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

Форум PHP

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

 

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

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

тема: Модальное окно на jquery с подтверждением удаления
 
 автор: netas   (13.06.2010 в 19:02)   письмо автору
 
 

Есть такая форма, кот. выводит список имеющихся в базе клиентов, после выбора радиокнопкой одного из них, отправляет обработчику на удаление:

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


Нужно при нажатии кнопки "Удалить" вывести модальное окно с предупреждением об удалении и после подтверждения отправить обработчику.
Понравился такой вариант окошка:

<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="drop.php" method="POST">
       <input type="submit" id="yes" value="Да" class="dialog_button"/>
       <input type="button" id="no" value="Нет" class="close_dialog dialog_button" />
     </form>
    </div>
 </div>
</div>


Если в предыдущем скрипте полностью убрать <form action="drop.php" method="post"></form>
и кнопочку поменять на type="button", то получается как надо, то есть последняя форма отправляет обработчику после подтверждения. Однако она не отправляет $iid клиента, кот. выбирают радиокнопкой. Бьюсь полдня, ничего не могу придумать, как отправить нужный idd.
Если не сильно мудрёно написал, прошу помощи

  Ответить  
 
 автор: sim5   (13.06.2010 в 19:09)   письмо автору
 
   для: netas   (13.06.2010 в 19:02)
 

Во-первых, это не модальное окно. Во-вторых, зачем нужен input type="button" id="no" value="Нет"?
В третьих, если список, то либо давайте имена кнопкам разные, либо указывайте их как массив (что лучше).

  Ответить  
 
 автор: Киналь   (13.06.2010 в 21:01)   письмо автору
 
   для: netas   (13.06.2010 в 19:02)
 

Можно на кнопку "Удалить" повесить примерно следующее:

onclick="if(confirm('Угу?'))this.submit()"


Это то, что вы хотите?

  Ответить  
 
 автор: netas   (13.06.2010 в 21:45)   письмо автору
 
   для: Киналь   (13.06.2010 в 21:01)
 

Да, именно так, только мне понравился (где-то нашёл) тот вариант., т.е. темнеет экран, всплывает красивое окошко. Кстати, в вашем варианте при нажатии на нетвсё-равно отправляет. Как сделать, чтоб была отмена, вдруг человек случайно нажал.

  Ответить  
 
 автор: sim5   (13.06.2010 в 22:09)   письмо автору
 
   для: netas   (13.06.2010 в 21:45)
 

<form onsubmit="return confirm('Send?')">
<input type="submit" value="Send">
</form>

  Ответить  
 
 автор: netas   (13.06.2010 в 22:39)   письмо автору
 
   для: sim5   (13.06.2010 в 22:09)
 

Ага, спасибо!

  Ответить  
 
 автор: sim5   (13.06.2010 в 22:46)   письмо автору
 
   для: netas   (13.06.2010 в 22:39)
 

input type="button" id="no" value="Нет".... выбросить, все операции обрабатывать в функции по событию onsubmit. То есть в примере вместо return confirm(), нужно указать имя функции - return myFunction(). Если все ОК, то будет отправка, если нет, функция должна вернуть false.
Если началась отправка формы, никакие щелчки по кнопке, тем более вашей, не остановят ее.

  Ответить  
 
 автор: netas   (13.06.2010 в 23:03)   письмо автору
 
   для: sim5   (13.06.2010 в 22:46)
 

Скажите, а как сделать, чтоб высакивало окошко "Клиент не выбран", если не выбрана ни одна радиокнопка (самый верхний пример)?

  Ответить  
 
 автор: netas   (13.06.2010 в 23:02)   письмо автору
 
   для: sim5   (13.06.2010 в 22:09)
 

Скажите, а как сделать, чтоб высакивало окошко "Клиент не выбран", если не выбрана ни одна радиокнопка (самый верхний пример)?

  Ответить  
 
 автор: sim5   (13.06.2010 в 23:17)   письмо автору
 
   для: netas   (13.06.2010 в 23:02)
 

Проверять значение группы радиокнопок. Все это делается посредством JavaScript (другой раздел форума).

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

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