Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запуск различных функций в зависимости от значения в input (https://javascript.ru/forum/misc/61213-zapusk-razlichnykh-funkcijj-v-zavisimosti-ot-znacheniya-v-input.html)

artddx 08.02.2016 23:57

Запуск различных функций в зависимости от значения в input
 
Добрый день.

Я уверен, что это простая задача, но, к сожалению, решить ее я не в силах сейчас.

Есть <input type="text" value="1" readonly />
Есть несколько функций js по типу:

function r_out01() {
var b=[];
b[0]='Text 1';
b[1]='Text 2';
b[2]='Text 3';
var i=Math.floor(Math.random()*b.length);
document.write( b[i] );
};

Есть пустое поле <span id="name"></span>

Мне нужно следующее:
Если value в input имеет значение 10, то запускается функция r_out01() и выдает, например, Text 1 на месте <span id="name"></span>

Если value достигает значение, к примеру, 25, то зпускается функция r_out02() (она такая же, как и 01, только текст другой) и также выдает текст на месте <span></span>

Очень надеюсь на Вашу помощь, друзья.

Coriolan161 09.02.2016 17:14

artddx,
??? Я не понял, зачем нужен readonly, если ты планируешь изменять его значение. Инпут будет подлежать пользовательскому вводу?

А так... вот вариант, с неизменяемым value инпута
<input type="text" id="text-field" value="25" readonly> 
<span id="name"></span>

window.onload = valueAnalize(document.getElementById('text-field').value);

function valueAnalize(_value){
  switch(parseInt(_value,10)){
    case 10: r_out01();
             break;
    case 25: r_out02();
             break;
    default: r_out03();
             break;
  }
}

function r_out01(){
  var a = [];
  a[0] = 'a_Text 1';
  a[1] = 'a_Text 2';
  a[2] = 'a_Text 3';
  var i = Math.floor(Math.random()*a.length);
  document.getElementById('name').innerHTML = a[i];
};

function r_out02(){
  var b = [];
  b[0] = 'b_Text 1';
  b[1] = 'b_Text 2';
  b[2] = 'b_Text 3';
  var i = Math.floor(Math.random()*b.length);
  document.getElementById('name').innerHTML = b[i];
};

function r_out03(){
  var c = [];
  c[0] = 'c_Text 1';
  c[1] = 'c_Text 2';
  c[2] = 'c_Text 3';
  var i = Math.floor(Math.random()*c.length);
  document.getElementById('name').innerHTML = c[i];
};


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