Функция для работы с формой
Попытался написать функцию по аналогиям, которые наскрёб в рамках данного форума. Но что-то не работает функция. Безнадёжна ли данная функция или её можно исправить?
<script language='Javascript'>
function change(x,y)
{
var form = document.getElementsByName('add_form');
var radiobox = form.getElementsByName('edit');
var field_for_change = form.getElementsByName('id');
var button=form.getElementsByName('addit');
var act='index.php?submenu='+x+'&action=';
if(radiobox.name == y)
{
form.action=act+'1';
field_for_change.type='text';
field_for_change.value='';
button.value='Добавить';
}
else
{
form.action=act+'2';
field_for_change.type='text';
field_for_change.value=radiobox.id;
button.value='Изменить';
}
}
</script>
<BODY>
<FORM METHOD='POST' ACTION='index.html?submenu=1' NAME='add_form'>
<INPUT TYPE='hidden' NAME='id' VALUE=''/>
<INPUT TYPE='text' NAME='name' VALUE='' size='20'/>
<BUTTON NAME='addit'>Добавить</BUTTON>
<table border='1'>
<tr bgcolor='#DDDDDD'>
<td>Заголовок</td>
<td><INPUT TYPE='radio' name='edit' id='text' OnClick=\"change('wow',this.id)\" checked></td>
</tr>
<tr>
<td>Текст1</td>
<td><INPUT TYPE='radio' name='edit' id='1'OnClick=\"change('wow','text')\"></td>
</tr>
<tr>
<td>Текст2</td>
<td><INPUT TYPE='radio' name='edit' id='2' OnClick=\"change('wow','text')\"></td>
</tr>
</table>
</FORM>
</BODY>
</HTML>
|
Цитата:
|
Упс.=) Ну простите начинающего javascript'ера. Подправил первый пост. Спасибо за ценные сведенья. Функция не работает всё равно. Продолжаем искать ошибки.
|
Не обратили внимание на s.
|
Ну я понял что "s", я добавил. Я понимаю что возвращает он массив результатов. Но не понятно, как можно обратиться к нужному мне элементу массива:
1. Если это add_form, button, field_for_change если каждый из name'ов представлен в единственном экзмепляре на весь документ? 2. Если это edit у которого разные id. Как мне получить id из которого я вызвал эту функцию? |
Цитата:
getElementsByName(name)[0]; Цитата:
function change(x,y,z) { … } // в переменную z будет передаваться this
<input onclick="change(x, y, this);" … |
function change(x,y,z)
{
var form = document.getElementsByName('add_form')[0];
var field_for_change = document.getElementsByName('id')[0];
var button=document.getElementsByName('addit')[0];
var act='index.php?submenu='+x+'&action=';
if(z.id == y)
{
form.action=act+'1';
field_for_change.value='';
button.value='Äîáàâèòü';
}
else
{
form.action=act+'2';
field_for_change.value=z.id;
button.value='Èçìåíèòü';
}
}
Cпасибо. Получилась вот такая незатейливая функция. |
| Часовой пояс GMT +3, время: 23:36. |