Javascript.RU

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

AJAX, JASON изменять цвет кнопки и значение формы.
Помогите, пожалуйста, решить задачу:

скажу сразу - я в ява-скриптах новичек.

В общем задача такая: на странице есть 12 форм - <form></form>. в каждой форме есть пооле "text" и кнопка "submit".

я на этой странице получаю json сообщение от php файла. вида
{"2":"0", "3":"255", "4":"255", "5":"0", и так до "14":"255"}

мне нужно в зависимости от того какое значение у ключа придет (255 или 0) поменять цвет кнопки "submit" и значение "value" у текстового поля.
При этом получаю я данные json раз в секунду.

На просторах интернета я нашел наиболее близкий мне код:
<html>
<head>
    <script src="jquery.js"></script>
</head>
<body>
    <div id="info">Загрузка...</div>
    <script>
        function json_example()
        {
            $.getJSON('json.php', function(data) {
                s  = "";
                $.each(data, function(key, val) {
                    s = s + key+' => ' + val + '<br/>'
                });
                $("#info").html(s);
            });
        }
        setInterval(json_example, 1000);
    </script>
</body>
</html>


но он только в div выводит полученные данные. Как мне их интерпретировать в цвет и значение?

Ну вот что-то вроди как на php:
if($jason[2] == 255) { 
echo '<form><input type="text" name="T1" size="20" value="333"><input type="submit" value="Отправить" name="B1" style="width: 200; background-color: #FFFF00"></form>';}else{echo '<form><input type="text" name="T1" size="20" value="444"><input type="submit" value="Отправить" name="B1" style="width: 200; background-color: #000000"></form>';}


только на в ява-скрипте?
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2013, 06:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А как один байт (0-255) выражает цвет (это ж три байта минимум, R, G, B) ?
Ну то есть ты же не будешь писать 255 if-ов, верно? Должна быть функция (в математическом смысле) из твоего одного байта в 3 байта цвета.
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2013, 10:23
Интересующийся
Отправить личное сообщение для lvovitch Посмотреть профиль Найти все сообщения от lvovitch
 
Регистрация: 07.08.2013
Сообщений: 22

Сообщение от danik.js Посмотреть сообщение
А как один байт (0-255) выражает цвет (это ж три байта минимум, R, G, B) ?
Ну то есть ты же не будешь писать 255 if-ов, верно? Должна быть функция (в математическом смысле) из твоего одного байта в 3 байта цвета.
Ну у меня всего два состояния - либо 255 либо 0. И цвета тоже два - либо серый либо желтый. Поэтому один всего один if на одну форму нужен, для изменение цвета, и один if для изменения значение value.
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2013, 13:39
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

// коллекция всех форм
var $forms = $('form');
function json_example()
        {
            $.getJSON('json.php', function(data) {
                $forms.each(function(i){
                    var color = data[i + 2] == 0 ? 'gray' : 'yellow';
                    $(this).find('[type=text], [type=submit]').css('background', color});
                });
            });
        }
...
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2013, 13:57
Интересующийся
Отправить личное сообщение для lvovitch Посмотреть профиль Найти все сообщения от lvovitch
 
Регистрация: 07.08.2013
Сообщений: 22

Сообщение от danik.js Посмотреть сообщение
// коллекция всех форм
var $forms = $('form');
function json_example()
        {
            $.getJSON('json.php', function(data) {
                $forms.each(function(i){
                    var color = data[i + 2] == 0 ? 'gray' : 'yellow';
                    $(this).find('[type=text], [type=submit]').css('background', color});
                });
            });
        }
...
Спасибо за помощь!

Но у меня ничего не получилось

сделал страницу:
<html>

<head>
  <title></title>
 <script src="jquery.js"></script>
</head>

<body>

<form><input type=text value="333"><input type=submit value="Отправить" name="B1"  style="width: 200; background-color: #000000"></forma>

<script>

// коллекция всех форм
var $forms = $('form');
function json_example()
        {
            $.getJSON('json.php', function(data) {
                $forms.each(function(i){
                    var color = data[i + 2] == 0 ? 'gray' : 'yellow';
                    $(this).find('[type=text], [type=submit]').css('background', color});
                });
            });
        }


</script>
</body>

</html>


обновляю постоянно, а цвет не меняется...
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2013, 18:02
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

lvovitch, приложи хоть какие-то усилия чтобы решить проблему.
Жить на всем готовом - тоже не вариант ведь.
Ответить с цитированием
  #7 (permalink)  
Старый 08.08.2013, 18:15
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от danik.js Посмотреть сообщение
Жить на всем готовом - тоже не вариант ведь.
вариант. миллионы мух не могут ошибаться.
Ответить с цитированием
  #8 (permalink)  
Старый 08.08.2013, 18:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ты хотел сказать триллионы?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить цвет кнопки, чтобы когда я нажал, то цвет не пропадал? ntest Общие вопросы Javascript 1 31.07.2013 09:14
PHP + Ajax : проблема с отправкой формы... Talker AJAX и COMET 1 04.04.2013 18:16
как поменять цвет элементов div с помощью ajax? uspehovna AJAX и COMET 12 20.08.2010 17:21
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12
цвет кнопки, цвет текста на кнопке, всплывающее окно matana Общие вопросы Javascript 8 26.05.2009 17:08