Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> после POST очистить поля формы 
:(
    Опции темы
SergeyMitrofanov
Дата 24.9.2010, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Дана форма
Заполним ее поля
Отправим данные с помощью POST
Нажмем на Reset
поля формы не очистились. :-(

Помогите, пожалуйста, советом:
какой написать код, чтобы нажав на Reset поля все-таки очистились?

Интересно это сделать без JavaScript, он часто пользователем отключен, хотелось бы только средствами PHP.

Код

<html>
  <head>
    <title>
      Очистка полей формы
    </title>
  </head>

  <body>
    <h2>
      Заполним поля, <br />
      нажмем на Submit,<br />
      потом на кнопку Reset. <p></p>
      Какой нужен код, чтобы поля очистились? <br />
    </h2>

    <?php
      // 24.09.10

      if (! isset ($_POST ['sent']))
      {
        $link = '';
        $comment = '';
      }
      else
      {
        $link = $_POST ['link'];
        $comment = $_POST ['comment'];
      }
    ?>

    <FORM
      action = '<?php echo $_SERVER ['PHP_SELF']; ?>'
      enctype = 'multipart/form-data'
      method = 'POST'
      name = 'myForm'
    >
      <INPUT
        type = 'hidden'
        name = 'sent'
        value = 1
      />

      <p>
        Link
      </p>
      <INPUT
        type = 'text'
        name = 'link'
        size = 50
        value = '<?php echo $link; ?>'
      />

      <p>
        Comment
      </p>
      <INPUT
        type = 'text'
        name = 'comment'
        size = 50
        value = '<?php echo $comment; ?>'
      />

      <INPUT
        type = 'submit'
        name = 'enter'
        value = 'Submit'
      />

      <INPUT
        type = 'reset'
        value = 'Reset'
      />

    </FORM>

  </body>
</html>

PM MAIL WWW   Вверх
DeamonShan
Дата 24.9.2010, 09:54 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



SergeyMitrofanov, reset поля формы не очищает, reset возвращает значения по умолчанию (те что вы присвоили полям при загрузке)

Поэтомув полях 

Код

      <INPUT
        type = 'text'
        name = 'link'
        size = 50
        value = '<?php echo $link; ?>'
      />


надобы присваивать пустые значения, то есть value="", а у Вас в поля по умолчанию писваюиваются те значения, которые отправили POST-ом. Поэтому reset не может очистить поля...

Почитайте HTML. Не мне вам советовать, но об этом говориться в первых главах в книге для начинающих.
PM MAIL   Вверх
SergeyMitrofanov
Дата 24.9.2010, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



DeamonShan,
спасибо за ответ!

    Получается так, что в таком случае мы бессильны... Никакой код на PHP не поможет, я зря его ищу?!

PM MAIL WWW   Вверх
skyboy
Дата 24.9.2010, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(SergeyMitrofanov @  24.9.2010,  09:14 Найти цитируемый пост)
Никакой код на PHP не поможет, я зря его ищу?!

Цитата(DeamonShan @  24.9.2010,  08:54 Найти цитируемый пост)
надобы присваивать пустые значения, то есть value=""


PM MAIL   Вверх
SergeyMitrofanov
Дата 24.9.2010, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Цитата(DeamonShan @  24.9.2010,  08:54 Найти цитируемый пост)
надобы присваивать пустые значения, то есть value=""


  Так как в теге <input type = 'reset' нет аттрибута name = '...', то отследить на PHP нажатие на кнопку Reset нет никакой возможности... а хотелось бы переменные $link и $comment при нажатии на Reset очищать до пустого текста.
PM MAIL WWW   Вверх
patap
Дата 24.9.2010, 12:15 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



как вариант
Код

<INPUT type="submit" value = 'Reset' name="reset" />  <!-- твоя reset кнопка -->


Код

if (! isset ($_POST ['sent']) || isset($_POST['reset']))
{
        $link = '';
        $comment = '';
      }
      else
      {
        $link = $_POST ['link'];
        $comment = $_POST ['comment'];
      }


а чем не устраивает яваскрипт?

Цитата
Интересно это сделать без JavaScript, он часто пользователем отключен

лично я имел таких юзеров)

Это сообщение отредактировал(а) patap - 24.9.2010, 12:17


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
DeamonShan
Дата 24.9.2010, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



SergeyMitrofanov, мне интересно, почему вы значения полей передает обратно, если их потом хотите очистить? Или там фишка какая нить?
PM MAIL   Вверх
patap
Дата 24.9.2010, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



DeamonShan,  скорее всего на сервере идет проверка данных, и если в полях неверная инфа, то сервер возвращает введенные ранее значения..


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
DeamonShan
Дата 24.9.2010, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



patap, в таком случае разумнее оставить первоначальный код без изменений...так логичнее
PM MAIL   Вверх
SergeyMitrofanov
Дата 24.9.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Цитата(DeamonShan @ 24.9.2010,  13:14)
patap, в таком случае разумнее оставить первоначальный код без изменений...так логичнее

Да, вот еще одно несовершенство HTML 4.0
нет аттрибута 'name = ...' у type = 'reset'

Короче, из всех форм удаляю кнопку Reset - от нее нет толку.
Жаль, что пока мы бессильны...

Я два дня ухлопал на поиск решения, чего только не делал, перебирал все поля, их аттрибуты, их имена,но как программно работать с кнопкой Reset так и не знаю, нет на нее управы :-(

Интересно, что будет в HTML 5?
PM MAIL WWW   Вверх
Muerto
Дата 24.9.2010, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Мне понравилось как вы строите...

не как некоторые
Код

 <input type='text' name='bla' value='blabla2' size='4'/>


А красиво и более читаемо...
Код

 <input
   type='text' 
   name='bla' 
   value='blabla2'
   size='4'
  />


Хотя с другой стороны, дофига строк будет, что повлияет на размер файла... 

А по теме, так почему бы не написать javascript и запускать его, если кнопка ресет у вас почему то не пашет...

Это сообщение отредактировал(а) Muerto - 24.9.2010, 16:34


--------------------
user posted image
PM MAIL   Вверх
bars80080
Дата 24.9.2010, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Muerto @  24.9.2010,  16:33 Найти цитируемый пост)
А по теме, так почему бы не написать javascript и запускать его, если кнопка ресет у вас почему то не пашет...

да всё у него работает. и ресет тоже. и ему уже объяснили почему кнопка ресет срабатывает именно так. чему, кстати, можно было догадаться, ведь она называется reset, а не clear. для тех, кто знаком с английским языком, это должно быть очевидно


Цитата(Muerto @  24.9.2010,  16:33 Найти цитируемый пост)
Хотя с другой стороны, дофига строк будет, что повлияет на размер файла... 

количество строк не влияет на размер файла. если заменить каждый пробел между атрибутами на перевод строки, то символов останется ровно столько, сколько было. размер файла у него вырастет только за счёт использования табов или пробелов в начале строки

а читаемость, тут исключительно на свой вкус. я бы сказал наоборот: очень даже не читаемо
PM MAIL WWW   Вверх
enoff
Дата 24.9.2010, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Цитата(patap @  24.9.2010,  13:15 Найти цитируемый пост)

лично я имел таких юзеров)

Цитата(addons.mozilla.org)

NoScript, 73 652 030 закачек

имхо, сайт должен работь и с отключенным js. JavaScript как дополнение использовать, ajax, всякие рюшечки и т.д.

Сейчас сижу за слабым компом и любой сайт может мне повесить браузер, а за ним на недолго и остальное.
А изобилие флеша вообще все наглухо у меня убивает=( ну это так, чисто мое недовольство smile 

 smile

Добавлено через 2 минуты и 20 секунд
bars80080, насчет очевидности названий можно поспорить... В том же php названия функций в разных стилях, порядок и наименование принимаемых параметров везде разные, хоть функции и выполняют схожие задачи.
PM MAIL ICQ Skype GTalk   Вверх
bars80080
Дата 24.9.2010, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(enoff @  24.9.2010,  19:30 Найти цитируемый пост)
В том же php названия функций в разных стилях, порядок

стилистика и порядок не относятся к смысловой нагрузке.

наименования параметров разных не встречал. mixed haystack по-моему везде mixed haystack и означает одно

Цитата(enoff @  24.9.2010,  19:30 Найти цитируемый пост)
хоть функции и выполняют схожие задачи. 

это тоже не относится к смысловому понимаю, что делает функция


PM MAIL WWW   Вверх
enoff
Дата 24.9.2010, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Я немного не в ту степь пошел, просто вспомнилась разрозненность наименований в php.
haystack, subject, string...
strpos, str_repeat... и т.д.

По мне, reset - не очевидно, что сбрасывается в значения по умолчанию, а не в пустые строки.
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0607 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.