Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.05.2011, 16:34
Новичок на форуме
Отправить личное сообщение для Nordway Посмотреть профиль Найти все сообщения от Nordway
 
Регистрация: 28.01.2010
Сообщений: 3

.append & .html в работе с <input>
Добрый день!

Решаю не сложную задачу по загрузке из БД данных (пользователь допустим вводит email, а в ответ получает имя). Вся схема работает кроме одной штуки...

в <div id='name'></div> имя выводится нормально
в <input id='name' type='text' value=''> имя уже НЕ выводится =(

Ниже листинг основных участков кода

Форма:
<form id="form" action="">
E-Mail: <input type="text" id="email" value=""><input type="submit" value="Отправить"><br>
Имя:<input type="text" id="name" value=""><br>
<br>
<div id='name'></div>
</form>


Javascript
$(document).ready(function () {
    $("#form").submit(Send);
    $("#email").focus();
});

function Send() {
    $.post("test.php",
    {
        act: "send",
        email: $("#email").val()
    },
    function (result) {
        eval(result);
    });

    $("#name").focus();
    return false;
}


test.php
$query = mysql_fetch_array(mysql_query("SELECT `text` FROM `messages` WHERE `name` = '".$_POST['email']."' ORDER BY id DESC LIMIT 1"));

$js = 'var db = $("#name");';
$js .= 'db.html("'.$query['text'].'");';
echo $js;


Подскажите где косяк. Есть подозрение что для вывода в <input> нужно какую-то другую команду использовать...
Ответить с цитированием
  #2 (permalink)  
Старый 15.05.2011, 16:39
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Видимо, так:
Код:
$js .= 'db.val("'.$query['text'].'");';

И, кстати, у вас дублируются id. Это недопустимо.
<form id="form" action=""> 
E-Mail: <input type="text" id="email" value=""><input type="submit" value="Отправить"><br> 
Имя:<input type="text" id="name_field" value=""><br> 
<br> 
<div id='name'></div> 
</form>


$query = mysql_fetch_array(mysql_query("SELECT `text` FROM `messages` WHERE `name` = '".$_POST['email']."' ORDER BY id DESC LIMIT 1")); 
	  
$js = 'var db = $("#name");'; 
$js .= 'db.html("'.$query['text'].'");';
$js .= '$("#name_field").val("'.$query['text'].'");';
echo $js;

Последний раз редактировалось Amphiluke, 15.05.2011 в 16:45.
Ответить с цитированием
  #3 (permalink)  
Старый 15.05.2011, 17:10
Новичок на форуме
Отправить личное сообщение для Nordway Посмотреть профиль Найти все сообщения от Nordway
 
Регистрация: 28.01.2010
Сообщений: 3

Благодарю!)

Дублировал для теста, но теперь ясно почему нельзя так делать))
Ответить с цитированием
Ответ



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

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