Множественный выбор
Здравствуйте.
Подскажите пожалуйста, как с помощью формы множественного выбора (или 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, время: 01:51. |