Множественный выбор
Здравствуйте.
Подскажите пожалуйста, как с помощью формы множественного выбора (или checkbox) в html (или html+javascript) получить запрос вида: example.ru/?cat=1&tag=tag1+tag2+tag3+tagN Т.е. мне нужно обязательно, чтобы тэги разделялись знаком "+". |
<form> Тег 1<input type="checkbox" name="tag1" value = "Тег1"><br> Тег 2<input type="checkbox" name="tag2" value = "Тег2"><br> Тег 3<input type="checkbox" name="tag3" value = "Тег3"><br> <input type="submit" value="Отправить"> </form> <script> document.querySelector('form').onsubmit = function(e){ e.preventDefault(); var data = "cat=1&tag="; var boxes = document.querySelectorAll('input[type="checkbox"]:checked'); for(var i = 0; i < boxes.length; i++){ data += (i==0?"":"+") + boxes[i].value; } alert(data); // отправка GET } </script> |
Dilettante_Pro,
Нельзя так, символом + кодируется пробел при передаче данных, а значит сервер получит tag1 tag2 tag3 tagN. |
Dilettante_Pro,
tag= где? |
laimas,
ТС просит Цитата:
|
рони,
Сорри, пропустил:( Исправил:write: |
Sakhet,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <form> Тег 1<input type="checkbox" name="tag1" value = "Тег1"><br> Тег 2<input type="checkbox" name="tag2" value = "Тег2"><br> Тег 3<input type="checkbox" name="tag3" value = "Тег3"><br> <input type="submit" value="Отправить"> </form> <script> document.querySelector('form').onsubmit = function(e){ e.preventDefault(); var data = "cat=1"; var boxes = document.querySelectorAll('input[type="checkbox"]:checked'); if(boxes.length) data += "&tag=" + [].map.call(boxes, function(el) { return el.value }).join("%2B"); alert(decodeURIComponent(data)); } </script> </body> </html> |
Цитата:
|
Спасибо большое, я уж думала, что это невозможно.
|
Цитата:
|
Часовой пояс GMT +3, время: 06:03. |