Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Передать только заполненные в форме параметры

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Передать только заполненные параметры php
Kronter
Отправлено: 31 Марта, 2015 - 16:10:05
Post Id


Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Можно ли передать только заполненные в форме параметры, а те, которые не заполнили, не передавать?
Например:[/code]
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form method='GET' action=index.php>
  3.  
  4. <input type=text name=ab>
  5.  
  6. <select name='ac'>
  7. <option value=1>1</option>
  8. <option value=2>2</option>
  9. </select>
  10.  
  11. <input type=submit>
  12.  
  13. </form>
  14.  

Если заполнили только <input type=text name=ab>, то страница обработчика должна выглядеть index.php?ab=111. Сейчас она выглядит index.php?ab=111&ac=
 
 Top
DeepVarvar Супермодератор
Отправлено: 31 Марта, 2015 - 16:19:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Зачем?
Наличие, отсутствие и значение чего-либо на бекенде всеравно валидировать придется.
Не извращайся.
 
 Top
Kronter
Отправлено: 31 Марта, 2015 - 16:39:18
Post Id


Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Да слишком уж длинная строка получается из-за одного параметра...
 
 Top
Faraon-san
Отправлено: 31 Марта, 2015 - 16:50:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




отправляй POST если хочешь скрыть.
CODE (html):
скопировать код в буфер обмена
  1. <form method="post" action="index.php">
  2. <input type="text" name="ab">
  3. <select name="ac">
  4. <option value="1">1</option>
  5. <option value="2">2</option>
  6. </select>
  7. <input type="submit">
  8. </form>
 
 Top
armancho7777777 Супермодератор
Отправлено: 31 Марта, 2015 - 17:07:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. NodeList.prototype.filter = Array.prototype.filter;
  2. NodeList.prototype.map = Array.prototype.map;
  3.  
  4. window.onload = function()
  5. {
  6.     var form = document.getElementById('my-form'), // <-- id формы
  7.         elements = form.querySelectorAll('input[type=text], select'),
  8.         action = (form.action || location.pathname) + '?';
  9.  
  10.     form.onsubmit = function()
  11.     {
  12.         var query = elements.filter(function(el){
  13.             el.value = el.value.trim();
  14.             return !!el.value;
  15.         });
  16.  
  17.         query = query.map(function(el){
  18.             return el.name + '=' + el.value;
  19.         });
  20.  
  21.         if(query = query.join('&')) {
  22.             location.href = action + query;
  23.         }
  24.  
  25.         return false;
  26.     };
  27. };


В IE < 9 работать не будет.
 
 Top
DeepVarvar Супермодератор
Отправлено: 31 Марта, 2015 - 19:50:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




О, я смотрю ты тоже VanillaJS полюбил ))
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Апреля, 2015 - 09:58:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Да нет, я его даже не щупал )
Тут нативный JS.
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Апреля, 2015 - 10:32:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




armancho7777777 пишет:
Да нет, я его даже не щупал )
Тут нативный JS.
Эмм http://vanilla-js[dot]com/
 
 Top
Dastor
Отправлено: 01 Апреля, 2015 - 10:32:46
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Окт. 2014  


Помог: 3 раз(а)




Бросилось в глаза)

CODE (javascript):
скопировать код в буфер обмена
  1. String.prototype.trim = function() {
  2.     return this.replace(/^\s+/, '').replace(/\s+$/, '');
  3. };


http://www[dot]w3schools[dot]com/jsref/j[dot][dot][dot]_trim_string[dot]asp
(Добавление)
Кстати, интересный подход
CODE (javascript):
скопировать код в буфер обмена
  1. NodeList.prototype.filter = Array.prototype.filter;
  2. NodeList.prototype.map = Array.prototype.map;

Взял на заметку) Обычно вызываю через call - Array.prototype.filter.call(elements, func)
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Апреля, 2015 - 12:18:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Dastor пишет:
Бросилось в глаза)

А, есть уже ))
Исправил.

DeepVarvar пишет:
Эмм http://vanilla-js[dot]com/

Ильюха, я знаю о её существовании )
Просто не щупал.
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Апреля, 2015 - 12:44:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




armancho7777777 пишет:
Просто не щупал
Ты врешь сам себе. Потрать три минуты на изучение текста на той странице.
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Апреля, 2015 - 13:08:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Радость Радость Радость
А я думаю, где я о нём "слышал" ))
http://forum.php.su/topic.php?fo...=69&topic=42
 
 Top
nerv
Отправлено: 01 Апреля, 2015 - 16:28:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




повеселили Улыбка

Dastor пишет:
Кстати, интересный подход

опасный)

armancho7777777 пишет:
if(query = query.join('&'))


жестоко

armancho7777777 пишет:
NodeList.prototype.filter = Array.prototype.filter;
NodeList.prototype.map = Array.prototype.map;

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

самый сок с es6 начинается
http://babeljs[dot]io/docs/learn-es6[dot][dot][dot]cript-6-features


-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Апреля, 2015 - 17:09:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




nerv пишет:
жестоко
?

nerv пишет:
повеселили

Так ты бы хоть раз выложил свой код,
может и не то было бы Радость
 
 Top
nerv
Отправлено: 01 Апреля, 2015 - 18:17:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




armancho7777777 пишет:
повеселили

ну, я по доброму говорю)

armancho7777777 пишет:
Так ты бы хоть раз выложил свой код,
может и не то было бы

https://github[dot]com/nervgh?tab=repositories

сборка ангуляр-модуля на es6 https://yadi[dot]sk/i/wlVIW1g5et637

самописная extend (пока не покрывал тестами)
https://yadi[dot]sk/i/DYKJb08-fcUzA
зачем это мне нужно, говорил здесь
http://javascript[dot]ru/forum/offto[dot][dot][dot][dot]html#post363894

из последнего итератор на es6
http://javascript[dot]ru/forum/proje[dot][dot][dot]jj-iterator[dot]html
https://github[dot]com/nervgh/recursive-iterator

если хочешь, почитай мою (единственную =) статью про es6
http://css-live[dot]ru/javascript/ka[dot][dot][dot]-6-segodnya[dot]html

armancho7777777 пишет:
?

обычно, в ифах присваивание не делают. Большая вероятность не заметить (наступить на грабли)

(Отредактировано автором: 01 Апреля, 2015 - 18:18:05)



-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB