Передать значение функции в 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> Спасибо. |
Переделал сам, всё работает:)
|
А не поделитесь опытом?
есть следующая функцыя $.ajax({ url: "get_iata_ip.php", success: function(data) { var ip = $.parseJSON(data); var info = (ip.city_rus ? ip.city_rus:ip.city_eng) + ' (' + (ip.name_rus ? ip.name_rus:ip.name_eng) + ') ' + ip.iata_code; } }); Надо info передать в Value инпута |
Приветствую.
Есть вот такой вот маленький код: var cvet = []; for(var i=0;i<4;i++){ cvet.push(getrandom(1,4)); alert('Массив: '+cvet[i]); } В js хочу поместить этот код в функцию и запускать для генерации других значений этого массива,соответственно с обнулением предыдущих... Но выходя из функции данные массива обнуляются. Предполагаю,что в конце функции надо писать: return cvet а это не работает. Подскажите пожалуйста,что не так? |
Все,разобрался.
Нужно было вынести за пределы функции: var cvet = []; |
Часовой пояс GMT +3, время: 09:08. |