Javascript.RU

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

Передать значение функции в 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>

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2011, 09:05
Новичок на форуме
Отправить личное сообщение для lexbog Посмотреть профиль Найти все сообщения от lexbog
 
Регистрация: 15.10.2011
Сообщений: 2

Переделал сам, всё работает
Ответить с цитированием
  #3 (permalink)  
Старый 22.09.2012, 20:40
Новичок на форуме
Отправить личное сообщение для lev-otinov Посмотреть профиль Найти все сообщения от lev-otinov
 
Регистрация: 20.09.2012
Сообщений: 5

А не поделитесь опытом?

есть следующая функцыя

$.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 инпута

Последний раз редактировалось lev-otinov, 22.09.2012 в 20:42.
Ответить с цитированием
  #4 (permalink)  
Старый 22.09.2012, 23:27
Профессор
Отправить личное сообщение для sotik Посмотреть профиль Найти все сообщения от sotik
 
Регистрация: 14.09.2012
Сообщений: 158

Приветствую.
Есть вот такой вот маленький код:
var cvet = [];
for(var i=0;i<4;i++){
cvet.push(getrandom(1,4));
alert('Массив: '+cvet[i]);
}

В js хочу поместить этот код в функцию и запускать для генерации других значений этого массива,соответственно с обнулением предыдущих...
Но выходя из функции данные массива обнуляются.
Предполагаю,что в конце функции надо писать:
return cvet
а это не работает.
Подскажите пожалуйста,что не так?
Ответить с цитированием
  #5 (permalink)  
Старый 22.09.2012, 23:41
Профессор
Отправить личное сообщение для sotik Посмотреть профиль Найти все сообщения от sotik
 
Регистрация: 14.09.2012
Сообщений: 158

Все,разобрался.
Нужно было вынести за пределы функции:
var cvet = [];
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать в функцию значение а не ссылку на переменную? Ghaniball Общие вопросы Javascript 4 02.09.2011 18:24
Как передать значение по ссылке на другую страницу сайта Rollo Общие вопросы Javascript 7 18.10.2010 15:02
bind: как передать функции указатель на объект trial jQuery 4 25.05.2010 01:35
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45
Присвоить значение результату функции... Дроздов Общие вопросы Javascript 2 07.03.2009 21:42