|
|
|
| у меня такая проблема, я создал HTML форму, в которой присудствует две кнопки, оправить и перейти на другую страницу, так вот в чем у меня проблема, я написал на JavaScript переход но не могу дописать его, вот пример что я написал:
<SCRIPT>
<!--
function of_z(t_urls) {
document.location.href =t_urls+'/index.php?';
}
-->
</SCRIPT>
<form action="index.html" method=GET>
<input type=checkbox name="auto_1" value="1"><br>
<input type=checkbox name="auto_2" value="2"><br>
<input type=checkbox name="auto_3" value="3">
...........
<input type="submit" value="оправить">
<input type="button" onClick="of_z('http://localhost')" value="перейти на другую страницу">
</form>
А мне нужно что бы это работало так:
при нажатии на кнопку "перейти на другую страницу" у меня должна формироваться примерно такая ссылка: http://localhost/index.php?auto_1=1&auto_3=3,
ну что бы ссылка фостраивалась в зависимости от того, на какую пользователь форму поставит галочку | |
|
|
|
|
|
|
|
для: SaIdEr
(06.01.2009 в 14:25)
| | Нужно завести переменную с адресом.
На каждый чекбокс повесить функцию , которая будет проверять состояние чекбокса (отмечен/не отмечен) и изменять строку с адресом.
При нажатии на кнопку, функции передается переменная + что Вам там надо | |
|
|
|
|
|
|
|
для: ddhvvn
(06.01.2009 в 15:54)
| | А помоч дописать мне его не поможете?
А то я в JavaScript не селен! | |
|
|
|
|
|
|
|
для: SaIdEr
(06.01.2009 в 14:25)
| |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title></title>
</head>
<body>
<script type="text/javascript" language="javascript">
<!--
function of_z(t_urls){
var url = '';
if(document.form_.auto_1.checked == true) url += '&auto_1=' + document.form_.auto_1.value;
if(document.form_.auto_2.checked == true) url += '&auto_2=' + document.form_.auto_2.value;
if(document.form_.auto_3.checked == true) url += '&auto_3=' + document.form_.auto_3.value;
document.location.href = t_urls+'/test.php?' + url.substr(1);
}
-->
</script>
<form action="test.php" method="GET" name="form_">
<input type="checkbox" name="auto_1" value="1"/><br />
<input type="checkbox" name="auto_2" value="2"/><br />
<input type="checkbox" name="auto_3" value="3"/>
<input type="submit" value="оправить"/>
<input name="" type="button" onClick="of_z('http://test15.ru')" value="перейти на другую страницу"/>
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: mikha
(06.01.2009 в 17:01)
| | ну да, система работы такая какая мне нужна, но есть один нюанс
у меня не 3 формы checkbox, а у меня эти формы добаляются в зависимости от добавления пользователями для примера так
<input type="checkbox" name="auto_1" value="1"/><br />
<input type="checkbox" name="auto_2" value="2"/><br />
<input type="checkbox" name="auto_3" value="3"/ и так далее
сможешь переделать эту Javascript форму под такую работу? | |
|
|
|
|
|
|
|
для: SaIdEr
(07.01.2009 в 16:39)
| | ммм.. примерно так
function of_z(t_urls,count){
var url = '';
for (i=1;i<=count;i++)
if (document.getElementByName('auto_'+i)[0].checked)
url += '&auto_'+i+'=' + document.getElementByName('auto_'+i)[0].value;
document.location.href = t_urls+'/test.php?' + url.substr(1);
}
|
| |
|
|
|
|
|
|
|
для: SaIdEr
(06.01.2009 в 14:25)
| | Подскажите пожалуйста, а так ка я сделал, так можно делать, на всех браузерах работать будет?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title></title>
</head>
<body>
<script type="text/javascript" language="javascript">
<!--
function of_z(t_urls,count_t){
var url = '';
for (i=1;i<='3';i++){
if(document.getElementById('auto_['+i+']').checked) url += '&auto_'+i+'=' + document.getElementById('auto_['+i+']').value;
document.location.href = t_urls+'/1.html?' + url.substr(1);
}
}
-->
</script>
<form action="test.php" method="GET">
<input type="checkbox" name="auto_1" id='auto_[1]' value="1"/><br />
<input type="checkbox" name="auto_2" id='auto_[2]' value="4"/><br />
<input type="checkbox" name="auto_3" id='auto_[3]' value="3"/>
<input type="submit" value="оправить"/>
<input name="" type="button" onClick="of_z('.')" value="перейти на другую страницу"/>
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: SaIdEr
(07.01.2009 в 23:18)
| | Не знаю как во всех браузерах, но вот ещё вариант. Сколько угодно чекбоксов, не надо указывать их колличество и редактировать функцию.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title></title>
</head>
<body>
<script type="text/javascript" language="javascript">
<!--
function of_z(this_, url){
var url_arr = new Array();
var object = this_.parentNode;
for(var i = 0, len = object.length, n = 0; i < len; i++){
if(object[i].type == 'checkbox' && object[i].checked){
url_arr[n] = object[i].name + '=' + object[i].value; n++;
}
}
if(url_arr.length > 0) document.location.href = url + '?' + url_arr.join("&"); else return;
}
-->
</script>
<form action="test.php" method="GET">
<input type="checkbox" name="auto_1" id='auto_[1]' value="1"/><br />
<input type="checkbox" name="auto_2" id='auto_[2]' value="4"/><br />
<input type="checkbox" name="auto_3" id='auto_[3]' value="3"/>
<input type="submit" value="оправить"/>
<input name="" type="button" onClick="of_z(this, 'http://test15.ru/test.php')" value="перейти на другую страницу"/>
</form>
</body>
</html>
|
Впрочем если что то не так написал, буду рад если поправят. | |
|
|
|
|
|
|
|
для: mikha
(08.01.2009 в 08:31)
| | К тебе такой вопрос mikha, почему с твоим Java скриптом когда я беру HTML форму в таблицу, то он отказвается работать?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title></title>
</head>
<body>
<script type="text/javascript" language="javascript">
<!--
function of_z(this_, url){
var url_arr = new Array();
var object = this_.parentNode;
for(var i = 0, len = object.length, n = 0; i < len; i++){
if(object[i].type == 'checkbox' && object[i].checked){
url_arr[n] = object[i].name + '=' + object[i].value; n++;
}
}
if(url_arr.length > 0) document.location.href = url + '?' + url_arr.join("&"); else return;
}
-->
</script>
<table border="0">
<tR>
<form action="test.php" method="GET">
<td><input type="checkbox" name="auto_1" id='auto_[1]' value="1"/></td>
<td><input type="checkbox" name="auto_2" id='auto_[2]' value="4"/></td>
<td><input type="checkbox" name="auto_3" id='auto_[3]' value="3"/></td>
<td><input type="submit" value="оправить"/></td>
<td><input name="" type="button" onClick="of_z(this, 'http://test15.ru/test.php')" value="перейти на другую страницу"/></td>
</form>
</tr>
</table>
</body>
</html>
|
Может быть кто то знает в чем проблема? | |
|
|
|
|
|
|
|
для: SaIdEr
(08.01.2009 в 17:49)
| | Потому что для кнопки объектом parentNode будет ячейка, а не форма.
И потому что перебирать надо не формы на странице, а элементы одной формы через её коллекцию elements:
function of_z(object, url){
var url_arr = new Array();
for(var i = 0, len = object.elements.length, n = 0; i < len; i++){
if(object.elements [i].type == 'checkbox' && object.elements [i].checked){
url_arr[n] = object.elements [i].name + '=' + object.elements [i].value; n++;
}
}
if(url_arr.length > 0) document.location.href = url + '?' + url_arr.join("&"); else return;
}
...
<input name="" type="button" onClick="of_z(this.form, 'http://test15.ru/test.php')" value="перейти на другую страницу"/>
|
PS. Значения идентификаторов (ID) должны быть ВАЛИДНЫМИ именами, т.е. начинаться с буквы и содержать ТОЛЬКО буквы, цифры и символ подчёркивания. Квадратных скобок в именах быть не должно. | |
|
|
|
|
|
|
|
для: PAT
(08.01.2009 в 18:42)
| | С просонья сразу не сообразил. Разумеется как вы написали лучше чем я ниже отписался. Нет привязки к конкретной форме, можно использовать функцию ещё где либо.
ЗЫ. Автору темы, делай как PAT написал, вот полный вариант
<script type="text/javascript" language="javascript">
<!--
function of_z(object, url){
var url_arr = new Array();
for(var i = 0, len = object.elements.length, n = 0; i < len; i++){
if(object.elements [i].type == 'checkbox' && object.elements [i].checked){
url_arr[n] = object.elements [i].name + '=' + object.elements [i].value; n++;
}
}
if(url_arr.length > 0) document.location.href = url + '?' + url_arr.join("&"); else return;
}
-->
</script>
<form action="test.php" method="GET">
<table>
<tr>
<td><input type="checkbox" name="auto_1" value="1"/></td>
<td><input type="checkbox" name="auto_2" value="4"/></td>
<td><input type="checkbox" name="auto_3" value="3"/></td>
<td><input type="submit" value="оправить"/></td>
<td><input name="" type="button" onClick="of_z(this.form, 'http://test15.ru/test.php')" value="перейти на другую страницу"/></td>
</tr>
</table>
</form>
|
| |
|
|
|
|
|
|
|
для: SaIdEr
(08.01.2009 в 17:49)
| | Дело не в id или не совсем в них. id о которых выше идёт речь можешь вообще удалить, собственно функцию писал ради того что бы от них избавиться, просто забыл их удалить.
Дело в том что добавив таблицу мы меняем родителя у... короче не вникай.
Добавь имя для формы, в общем исправь вот так
<script type="text/javascript" language="javascript">
<!--
function of_z(url){
var url_arr = new Array();
var object = document.forms.nameMyForm;
for(var i = 0, len = object.length, n = 0; i < len; i++){
if(object[i].type == 'checkbox' && object[i].checked){
url_arr[n] = object[i].name + '=' + object[i].value; n++;
}
}
if(url_arr.length > 0) document.location.href = url + '?' + url_arr.join("&"); else return;
}
-->
</script>
<form action="test.php" method="GET" name="nameMyForm">
<table>
<tr>
<td><input type="checkbox" name="auto_1" value="1"/></td>
<td><input type="checkbox" name="auto_2" value="4"/></td>
<td><input type="checkbox" name="auto_3" value="3"/></td>
<td><input type="submit" value="оправить"/></td>
<td><input name="" type="button" onClick="of_z('http://test15.ru/test.php')" value="перейти на другую страницу"/></td>
</tr>
</table>
</form>
|
По идее должно быть всё хокей. | |
|
|
|