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

HTML+CSS+JavaScript

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

 

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

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

тема: Некорректно работает Enter на форме
 
 автор: to4kaRU   (24.06.2005 в 12:50)   письмо автору
 
 

Помогите, плиииз, никак не могу понять в чем проблема. Смысл такой - на сайте есть формы. Так вот при заполнении одних форм и нажатии Enter, все нормально, при проделывании того же самого на других, передаются все данные кроме значения кнопки Submit, при нажатии мышкой непосредственно на кнопку - опять-таки все нормально. Такие глюки в IE и Netscape, в Opere никаких проблем... Вот я и думаю, толи лыжи не едут, толи...
Если это поможет - страницы генерируются PHP+Smarty одинаковым образом. Кусок кода, где не работает Enter:

  <tr>
    <form name="form1" action="{$smarty.server.SCRIPT_NAME}" method="POST">
    <td><input name="search" type="TEXT" id="search" value="{$search}"></td>
    <td><input name="doSearch" type="SUBMIT" id="doSearch" value="Найти"></td>
    </form>
  </tr>

   
 
 автор: antf   (25.06.2005 в 10:19)   письмо автору
 
   для: to4kaRU   (24.06.2005 в 12:50)
 

Очень интересный глюк у меня он возникал, когда я делал форму авторизации. Она содержала два поля логин и пароль, а также две кнопки: войти и выйти. Так вот при нажатии Enter иногда все данные текстовых полей передавались, а информация о нажатой кнопке нет. Эта аномалия возникала в IE. Вот как я выше из положения. Правда делал это средствами PHP:

Код формы:

<form name='auth_form' method='post' action=''>
<table class='AuthTbl' border='0' cellspacing='0' cellpadding='0' width='100%'>
<tr>
<td class='AuthCapt'>Логин:</td>
<td class='AuthFldTd'><input type='text' name='login' size='13'></td>
</tr>
<tr>
<td class='AuthCapt'>Пароль:</td>
<td class='AuthFldTd'><input type='password' name='psw' size='13'></td>
</tr>
<tr>
<td colspan=2 class='AuthSubmTD'>
<input name='auth_enter' type='submit' value='войти'>
<input name='auth_exit' type='submit' value='выйти'>
</td>
<tr>
<input type='hidden' name='authorization' value='yes'>
</table>
</form>

То есть есть два текстовых поля (login, psw), две кнопки auth_enter, auth_exit. Обратите внимание на поле hidden с именем authorization.

Вот код обработчика, где решается данная проблема:

<?if($_POST['authorization'] == 'yes')
{
    if(!empty(
$_POST['auth_enter']))
      
$button 'auth_enter';
    if(!empty(
$_POST['auth_exit']))
      
$button 'auth_exit';
    else
      
$button 'auth_enter';
    
//авторизация после ввода логина и пароля
    
if($button  == 'auth_enter')
      include(
'authorize.inc');
    
//выход
    
if($button == 'auth_exit')
      include(
'auth_exit.inc');
?>

   
 
 автор: новичек   (25.06.2005 в 12:21)
 
   для: to4kaRU   (24.06.2005 в 12:50)
 

попробуй убрать отсюда ><input name="doSearch" type="SUBMIT" id="doSearch" value="Найти"> id="doSearch", а прописать так
<input type="hidden" name="id" value="doSearch">

   
Rambler's Top100
вверх

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