Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   input и JS (https://javascript.ru/forum/events/1302-input-i-js.html)

Лимонадный Джо 12.06.2008 23:52

input и JS
 
Есть такая функия JS:
function gen(chars,length)
		{
		var res="";
		var r;
		var i;
  		for (i=1;i<=length;i++)
    		{
     			r=Math.floor(Math.random()*chars.length);
     			res=res+chars.substring(r,r+1);
    		}   
		return res
		}

она занимается тем, что из заданной последовательности символов делает рандомную комбинацию...
мне необходимо, чтобы сгенерированное значение занеслось в что-то типа этого:
<input type="hidden" name="gen" value="javascript:gen('1234567890','8')">

Как это возможно реализовать? Просто нужно, чтобы это все делалось самостоятельно, т.е. не нужно было тыркать по ссылке/кнопке, чтобы все заработало...

Андрей Параничев 13.06.2008 00:09

Лимонадный Джо,
Ничего не понял, если ваша функция работает, то в чём проблема, в "чтобы сгенерированное значение занеслось в что-то типа этого"? Я, например, вообще не понял, что именно вы хотите, и почему в value элемента input указан протокол javascript. Он указывается только у href или src, вместо http://, чтобы браузер понял, что надо не открывать страницу а выполнить javascript в текущей.

Предположу, что вы хотите, чтоб в input автоматически заносился результат функции gen. Это легко сделать, например так:
<input type="hidden" id="gen" name="gen" value="">
<script>document.getElementById("gen").value = gen('1234567890', 8);</script>

Лимонадный Джо 13.06.2008 00:12

да, именно это я и хотел сделать) спасибо.
сейчас попробую...

Андрей Параничев 13.06.2008 00:20

Лимонадный Джо,
Вообще, должно работать. Только хочу предостеречь - никакую важную (на которую завязан функционал) информацию лучше не генерировать таким образом, так как это значение легко может быть подделано из клиента. И если эта информация записывается в базу данных, её нужно обязательно фильтровать.

tenshi 13.06.2008 01:57

telepat mode=on
say "думаю это он так пытается побороть кэширование %-)"
telepat mode=off

Gvozd 13.06.2008 04:05

Цитата:

Сообщение от tenshi
telepat mode=on
say "думаю это он так пытается побороть кэширование %-)"
telepat mode=off

я сперва подумал на генератор паролей, но кеширование более вероятно)))


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