Добавление текста в <form>форму</form> c java script.

Статус
В этой теме нельзя размещать новые ответы.

Compressor

Мой дом здесь!
Регистрация
31 Янв 2009
Сообщения
311
Реакции
202
Есть форма.
Нужен скрипт добавляющий текст в input c name по нажатию на «ссылки» с разделителем(пробелом).
Например как тут:

 
если правильно понял, то вот пример
использую jquery

HTML:
  <form action="">
  		<input type=text name=txt id=txt size=50><br>
		
		<a href="#" class=jlink>test1</a>, 
		<a href="#" class=jlink>test2</a>, 
		<a href="#" class=jlink>test3</a>, 
		<a href="#" class=jlink>test4</a>, 
		
  </form>
  
  
<script type="text/javascript">
$(document).ready(function() {	
	$("a.jlink").click(
		function() {			
			t=$('input#txt').attr("value")+' '+$(this).text();
			$('input#txt').attr("value",t);			
		}			
	);	
});
</script>
 
serg_g, зачем из-за этого подключать jQuery?
без него никак?
более того ваш алгоритм не совсем верен
HTML:
<html>
<head>

</head>
<body>
<form action="">
<input type='text' name='txt' id='txt' /><br>
<div id="jlink">
<a href="#">test1</a>, 
<a href="#">test2</a>, 
<a href="#">test3</a>, 
<a href="#">test4</a>
</div>
<script type="text/javascript">
function insert_tag(elem,name)
	{
	input=document.getElementsByName(name)[0];
	if(input.value=='')
		input.value=elem.innerHTML;
	else
		input.value+=(', '+elem.innerHTML);
	}
jlinks=document.getElementById("jlink").getElementsByTagName('a');
for(i=0,s=jlinks.length;i< s;i++)
	jlinks[i].onclick=function(){insert_tag(this,'txt');}
</script>
</form>
</body>
</html>
 
В споре рождается истина.
Первый вариант не работает =(
Второй работает великолепно. На отдельной хтмл странице.
Но если сделать этот скрипт как дополнительный блок для cms. Движок цмс ругается на строку:
HTML:
input.value+=(', '+elem.innerHTML);
Вот так:
HTML:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING


Можно угадать причину издалека? =)
 
понятия не имею, чем вашей CMS не нравится этот код))))
особенно, учитывая, что ни одной CMS-ки я не знаю, а если бы знал, вы не указали какую используете.
попробуйте так:
Код:
//input.value+=(', '+elem.innerHTML);
input.value+=', ';
input.value+=elem.innerHTML;
либо так:
Код:
//input.value+=(', '+elem.innerHTML);
temp=input.value+', '+elem.innerHTML;
input.value=temp;
PS код первого ответившего наверно не работает, потому что это код под библиотеку jQuery, которую вы скорее всего не подклчили. И не надо, ради такой простой задачи
 
Решено.
Просто цмс недолюбливала яваскрипт внутри вывода своих данных. А вот выход скрипта из отдельного файла ей понравился =)
 
Приветствую… Снова нужна помощь =)

На этот раз есть два input c name 1 и 2 соответственно.

И есть ссылка вида <a href=”#”>Text1: Text2</a>, по нажатию на которую нужно пихать текст1 в инпут 1 и теств2 в инпут 2.

Как-то так… =)

ЗЫ, С условием, что если в инпутах что-то было... то это бы стиралось...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху