| 
				Передать значение функции в value inputа
			 Всем привет.
 Столкнулся с проблемой:
 Скрипт генерации паролей с выводом результата в div был через id элемента, а мне нужен был результат в input для записи в БД.
 Вот я немного его модернизировал, но в Мозиле пароль не генерится.
 Вернее из cmsки в мозиле не работает, а если просто файлик с компа загружать, то работает. Но в опере, хроме и ИЕ работает и из cmsки.
 Подскажите, пожалуйста,в чём может быть ошибка и как исправить этот косяк.
 Вот код скрипта:
 
 <div class="jsPassGenWrapper">
 
 <div id="jsPassGenForm"></div>
 <input type="text" id="jsPassGenForm2" name="jsPassGenForm"/>
 <div class="jsPassGenCtrls">
 <input type="hidden" id="jsPassGenUseNumsCB" checked="checked" />
 <label for="jsPassGenUseNumsCB">Use numbers</label><br />
 <input type="button" value="Create password" onClick="runPassGen()" />
 </div>
 <script type="text/javascript">
 /* @param id - идентификатор блока для вставки паролей)
 @param syllableNum - количество слогов в пароле
 @param numPass - количество количество паролей вставляемых в блок
 @param useNums - использовать числа или нет */
 function jsPassGen(id, syllableNum, numPass, useNums) {
 id = typeof(id) != 'undefined' ? id : 'jsPassGenForm';    // параметры по умолчанию
 syllableNum = typeof(syllableNum) != 'undefined' ? syllableNum : 3;
 numPass = typeof(numPass) != 'undefined' ? numPass : 1;
 useNums = typeof(useNums) != 'undefined' ? useNums : true;
 
 function rand(from, to) {
 from = typeof(from) != 'undefined' ? from : 0;    // параметры
 to = typeof(to) != 'undefined' ? to : from + 1;    // по умолчанию
 return Math.round(from + Math.random()*(to - from));
 };
 
 function getRandChar(a) {
 return a.charAt(rand(0,a.length-1));
 }
 
 var form = document.getElementById(id);
 // Наиболее подходящие согласные для использования их в качестве заглавных
 var cCommon = "bcdfghklmnprstvz";
 var cAll = cCommon + "jqwx";    // Все согласные
 var vAll = "aeiouy";    // Все гласные
 var lAll = cAll + vAll;    // Все буквы
 
 form.innerHTML = "";
 for(var j = 0; j < numPass; ++j) {
 // Коэффициент определяющий вероятность появления числа между слогами
 var numProb = 0, numProbStep = 0.25;
 for(var i = 0; i < syllableNum; ++i) {
 if(Math.round(Math.random())) {
 form.innerHTML += getRandChar(cCommon).toUpperCase() +
 getRandChar(vAll) +
 getRandChar(lAll);
 } else {
 form.innerHTML += getRandChar(vAll).toUpperCase() +
 getRandChar(cCommon);
 }
 if(useNums && Math.round(Math.random() + numProb)) {
 form.innerHTML += rand(0,9);
 numProb += numProbStep;
 }
 }
 var rezz = form.innerHTML;
 document.getElementById('jsPassGenForm2').value = rezz;
 }
 return true;
 // document.getElementById(id).value = form.innerHTML;
 }
 
 function runPassGen() {
 jsPassGen('jsPassGenForm', 3, 1, jsPassGenUseNumsCB.checked);
 }
 
 runPassGen();
 </script>
 </div>
 
 Спасибо.
 
			
			
	
			
			
			
			
			
				  |