Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задание значения элемента формы и submit (https://javascript.ru/forum/misc/12030-zadanie-znacheniya-ehlementa-formy-i-submit.html)

Enklgd01 27.09.2010 15:17

Задание значения элемента формы и submit
 
наверное начну сразу с кода
исходный код

<script language="JavaScript">
function Select_Set(AValue)
{
   document.forms["param"].elements["set"].value = AValue;
   //делаем видимыми кнопки item_X
}
function Select_Item(AValue)
{
   document.forms["param"].elements["item"].value = AValue;
   document.forms["param"].submit();
}
</script>


<form method="GET" name="param">
<input type="hidden" name="set" value="0">
<input id="set_1" type="button" value="Set = 1" OnClick="Select_Set(1);" />
...
<input id="set_100" type="button" value="Set = 100" OnClick="Select_Set(100);" />
<input type="hidden" name="item" value="0">
<input type="button" id="item_1" value="Item = 1" OnClick="Select_Item(1);" />
...
<input type="button" id="item_100" value="Item = 100" OnClick="Select_Item(100);" />
</form>


в IE всё работает замечательно
во всём остальном (как минимум FF, Chrome) параметр set передается нормально, параметро item всегда передается 0

Пример: нажимаем на кнопку, задающую "Set = 50", нажимаем на кнопку задающую "Item = 50"... И браузеры кроме IE переходят по адресу xxx.xxx?set=50&item=0

и мозг сломался... не могу победить...

рони 27.09.2010 16:10

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title></title>
<script language="JavaScript">
function Select_Set(AValue)
{
   document.param.set.value = AValue;
   //делаем видимыми кнопки item_X
}
function Select_Item(AValue)
{
   document.param.item.value = AValue;
   document.param.submit();
}
</script>
</head>

<body>
<form method="get" name="param">
<input type="hidden" name="set" value="0">
<input id="set_1" type="button" value="Set = 1" onclick="Select_Set(1);" />
...
<input id="set_100" type="button" value="Set = 100" onclick="Select_Set(100);" />
<input type="hidden" name="item" value="0">
<input type="button" id="item_1" value="Item = 1" onclick="Select_Item(1);" />
...
<input type="button" id="item_100" value="Item = 100" onclick="Select_Item(100);" />
</form>
</body>

</html>

Enklgd01 27.09.2010 16:53

to рони
силён!!!
дам подсказку: чтобы не загромождать текст воспроса вся эта верстка была вырезана из текста вопроса...

рони 27.09.2010 18:32

Enklgd01,
код у вас сработал что я написал или вы не проверяли?

Enklgd01 28.09.2010 11:24

насколько я помню, то задавать доступ к параметрам в виде
document.param.set
получается только тогда, когда у формы и элемента заданы ID, хотя могу ошибаться.

В дополнение:
<script language="JavaScript">  
function Select_Item(AValue)  
{  
   document.forms["param"].elements["item"].value = AValue;  
   alert(document.forms["param"].elements["item"].value);
   document.forms["param"].submit();  
}  
</script>

при срабатывании данного кода выдается сообщение с соответствующим значением, а вот в GET параметрах всё равно стоит 0...

ЗЫ: но пока так и не нашел ответа, почему в случае просто задания параметр задается нормально, а если задать и сразу submit --отправляется default значение...

ЗЗЫ: приведенный рони код работает


Часовой пояс GMT +3, время: 20:44.