Не срабатывают правила при двух кнопках submit на форме.

  • Автор темы Автор темы zdimon
  • Дата начала Дата начала

zdimon

Новичок
Не срабатывают правила при двух кнопках submit на форме.

На форме находится две кнопки типа submit.
Немогу понять почему при нажатии одной мои правила
$form->addRule() срабатывают а при нажатии на второй нет.
 
zdimon
тут телепатов нет. либо толком объясни свою проблемму, приведи код (или его часть) и расскажи как решал и где искал либо не мусорь топиком.
 
Пардон.
Использую QuickForm Pear
Код
PHP:
$form = new HTML_QuickForm('sms_form', 'POST','?action=mailbox&new=1',null,' enctype="multipart/form-data"  ', TRUE);
$form->addElement('submit', 'btnSubmit', 'Кнопка 1','id=but_spr');
 $form->addElement('text', 'user', $_SESSION['messages']['field_name'],'');
       $form->addElement('submit', 'btnSubmit1', 'Кнопка 2','id=but_spr');

$form->addRule('user', $_SESSION['messages']['mes_empty_login'].'</br>', 'required');

 if ($form->validate())
	    {
.....
}
 
zdimon
я с QuickForm дела не имел =). скорее всего дело с хтмлом формы и обработке данных. поиграйся со след. кодом, может он тебя натолкнет на путь истинный.
PHP:
<form action="x.php" method="POST">
<input type="text" name="text"/>
<input type="submit" name="btn_1" value="foo"/>
<input type="submit" name="btn_2" value="bar"/>
<form>

<?php
var_dump($_POST);
?>
 
zdimon
Два элемента с одним id.

id по всем стандартам начиная не знаю с какой версии HTML должен быть уникальным в пределах страницы или фрейма.
 
Изменил id - не помогло, вторая кнопка мои правила пропускает.
 
правильно.
потому что ответ тебе давали шаманы и прорицатели.

с чем у тебя проблема? С HTML кодом формы или с обработкой формы?
 
Ты уверен? Все ли нужные данные и в нужном виде прихордят на сервер?
 
Когда две сабмит кнопки отсылается только та, на которую нажали. Вот по этому и ошибка.
 
Так ошибки никакой нет.
Кнопки строятся одинаково.
Как это при нажатии на одну все данные нужные и в нормальном виде, а при нажатии на другую все правила валидации игнорируются?
 
zdimon
почему ты пишешь про первую кнопку что все данные в нужном виде, а про в торую - какие-то правила?

ты вообще прелдставляешь себе, какие данные должна послать форма?
а в глаза видел?

или только и можешь пищать, как ципленочек "у меня правило не срабатывает, покажите, что в коде исправить"
 
почему ты пишешь про первую кнопку что все данные в нужном виде, а про в торую - какие-то правила?
потому что ты упомянул про некорректные данные передаваемые формой

ты вообще прелдставляешь себе, какие данные должна послать форма?
возможно ты не представил себе суть проблемы

т.е. на одной форме две кнопки сабмит и правила валидации срабатывающие только на одной, ведь если бы данные не отправлялись или отправлялись неверно то форма бы не свалидировала бы, а так я оставляю поле пустым (при проверке на пустое) и форма валидирует.

или только и можешь пищать, как ципленочек "у меня правило не срабатывает, покажите, что в коде исправить"
спасибо за комплимент (басом)
 
я ж тебе пример дал с двумя кнопками, разберись с ним а потом лезь дальше
 
Автор оригинала: zdimon
На форме находится две кнопки типа submit.
Немогу понять почему при нажатии одной мои правила
$form->addRule() срабатывают а при нажатии на второй нет.
1) В начало скрипта добавь
PHP:
PEAR::setErrorHandling(PEAR_ERROR_DIE);
2) Если после этого новых мыслей не появится, то покажи-ка сгенерированный html для этой формы.
 
возможно ты не представил себе суть проблемы
возможно, ты представляешь себе, что очень умный.
а все вокруг дураки, и не поняли твоей проблемы.
вот только почему-то это никак тебе не помогает её решить.

весь твой интеллект уходят на теоретические объяснения - почему не имеет смысла делать, что тебе говорят.

очень интересный феномен, кстати
 
Сверху