Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.08.2012, 08:29
Новичок на форуме
Отправить личное сообщение для Alex7778 Посмотреть профиль Найти все сообщения от Alex7778
 
Регистрация: 27.08.2012
Сообщений: 9

Кнопка-ссылка с передачей параметра
Добрый день.
Возникла проблема при написании формы, прошу помочь!

<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.
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2012, 09:04
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

<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>
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2012, 20:08
Новичок на форуме
Отправить личное сообщение для Alex7778 Посмотреть профиль Найти все сообщения от Alex7778
 
Регистрация: 27.08.2012
Сообщений: 9

Спасибо.
Работает как надо, но мне необходимо, чтобы скрипт находился в отдельном файле. Я помещаю скрипт в файле 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>

Таким образом не работает.
Подскажите пожалуйста как решить проблему.
Ответить с цитированием
  #4 (permalink)  
Старый 27.08.2012, 20:17
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Вроде всё чётко, у меня этот код работает, смотрите в консоль может ошибка где-то случайно закралась (лишний символ и т.п.)
Ответить с цитированием
  #5 (permalink)  
Старый 27.08.2012, 20:18
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Alex7778,
У Вас на странице форма - единственная ?
Ответить с цитированием
  #6 (permalink)  
Старый 27.08.2012, 20:24
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

window.onload также не позволяет задания в нескольких местах, работает только код в последнем
Ответить с цитированием
  #7 (permalink)  
Старый 28.08.2012, 01:21
Новичок на форуме
Отправить личное сообщение для Alex7778 Посмотреть профиль Найти все сообщения от Alex7778
 
Регистрация: 27.08.2012
Сообщений: 9

Deff, да, форма одна. Тестирую именно этот код, который приведён как пример. Ничего другого на странице нет.

bes, если скрипт и html-код в одном файле, то работает всё как надо. Если скрипт вывожу в отдельный файл, то не работает. Синтаксических ошибок нет.

Может есть другие решения?
Ответить с цитированием
  #8 (permalink)  
Старый 28.08.2012, 01:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Alex7778,
Дайте ссылку на тестовую страницу - аш интригует
Ответить с цитированием
  #9 (permalink)  
Старый 28.08.2012, 05:48
Новичок на форуме
Отправить личное сообщение для Alex7778 Посмотреть профиль Найти все сообщения от Alex7778
 
Регистрация: 27.08.2012
Сообщений: 9

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>
Ответить с цитированием
  #10 (permalink)  
Старый 28.08.2012, 08:32
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Для оформления кода используйте bb-теги ([html run]) http://javascript.ru/formatting

name="name[nameid]" - в скобках не переменная, объясняйте подробнее, чего и как пытаетесь добиться
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен скрипт Samfer Работа 6 08.04.2012 14:26
Кнопка ссылкой, для случаев если js отключен clear Events/DOM/Window 1 27.07.2011 09:08
Появляющаяся/исчезающая кнопка при прокрутке страницы MailRes Элементы интерфейса 2 22.06.2011 11:49
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58
Пожалуйста помогите с передачей параметра xela1980 jQuery 10 14.12.2009 15:04