Кнопка-ссылка с передачей параметра
Добрый день.
Возникла проблема при написании формы, прошу помочь! :) <form action="go.php" id="myform"> <a href="javascript: document.nocredit.submit ()" onclick="submit();" >param 1</a> <a href="javascript: document.nocredit.submit ()" onclick="submit();" >param 2</a> </form> Необходимо сделать так, чтобы при нажатии на ссылку "param 1" передавалось значение 1, а при нажатии на ссылку "param 2" передавалось значение 2. |
<form action="http://javascript.ru" method="get"> <a href="#">param 1</a> <a href="#" >param 2</a> <input type="hidden" name="inp"> </form> <script> window.onload = function () { document.forms[0].onclick = function (e) { e = e || event; var target = e.target || e.srcElement; if (target.tagName == 'A') { if (target == this.children[0]) { this.inp.value = 1; } else { this.inp.value = 2; } alert(this.inp.value) this.submit(); } } } </script> |
Спасибо.
Работает как надо, но мне необходимо, чтобы скрипт находился в отдельном файле. Я помещаю скрипт в файле script.js: window.onload = function () { document.forms[0].onclick = function (e) { e = e || event; var target = e.target || e.srcElement; if (target.tagName == 'A') { if (target == this.children[0]) { this.inp.value = 1; } else { this.inp.value = 2; } alert(this.inp.value) this.submit(); } } } И запускаю код: <form action="go.php" method="get"> <a href="#">param 1</a> <a href="#" >param 2</a> <input type="hidden" name="inp"> </form> <script type="text/javascript" src="script.js"></script> Таким образом не работает. Подскажите пожалуйста как решить проблему. |
Вроде всё чётко, у меня этот код работает, смотрите в консоль может ошибка где-то случайно закралась (лишний символ и т.п.)
|
Alex7778,
У Вас на странице форма - единственная ? |
window.onload также не позволяет задания в нескольких местах, работает только код в последнем
|
Deff, да, форма одна. Тестирую именно этот код, который приведён как пример. Ничего другого на странице нет.
bes, если скрипт и html-код в одном файле, то работает всё как надо. Если скрипт вывожу в отдельный файл, то не работает. Синтаксических ошибок нет. Может есть другие решения? |
Alex7778,
Дайте ссылку на тестовую страницу - аш интригует |
Deff, в коде была нелепая ошибка - неправильный путь к файлу скрипта. После её исправления Всё заработало.
Однако у меня в коде используются переменные типа name[nameid]. Когда я вместо inp подставляю name[nameid], то скрипт не работает. Вот пример нерабочего скрипта: window.onload = function () { document.forms[0].onclick = function (e) { e = e || event; var target = e.target || e.srcElement; if (target.tagName == 'A') { if (target == this.children[0]) { this.name[nameid].value = 1; } else { this.name[nameid].value = 2; } alert(this.name[nameid].value); this.submit(); } } } html-код: <form action="go.php" method="get"> <a href="#">param 1</a> <a href="#" >param 2</a> <input type="hidden" name="name[nameid]"> </form> |
Для оформления кода используйте bb-теги ([html run]) http://javascript.ru/formatting
name="name[nameid]" - в скобках не переменная, объясняйте подробнее, чего и как пытаетесь добиться |
Часовой пояс GMT +3, время: 15:29. |