2009-06-29 3 views
1

Я использую $(). Post и php для изменения содержимого текстового поля < >.jquery.post() и php

Сценарий преуспевает - firebug ясно показывает, что текст между тегами textarea изменился, и мое небольшое предупреждение срабатывает.

Пользователь, однако, не видит изменений. В Firefox это изменение вообще не происходит, и в IE обновление текстовой среды доходит до 10 секунд.

Вот JQuery Я использую:

$(document).ready(function() { 
    $('#pv_list li:first').addClass('hilite'); 
    $("input[name='db_entries']:first").attr('checked', 'checked'); 
    $("input[name='db_entries']").click(function() { 
     $.post("changeEntry.php", {post: $(this).val()}, function(data) { 
      $("textarea").text(data);alert('done'); 
     }); 
     $('#pv_list li').removeClass('hilite'); 
     $(this).parent().addClass('hilite'); 
    }); 
}); 

Сначала я думал, что это было потому, что страница не проверяла, но он проверяет XHTML переходного.

Вещь, которая меня действительно беспокоит, я работал над ней раньше и не могу понять, что я изменил.

ответ

3

Вы пытались использовать val(), чтобы установить значение textarea вместо text()?

$.post("changeEntry.php",{post: $(this).val()}, 
     function(data) { 
      $("textarea").val(data); 
      alert('done'); 
}); 
+0

Well dang. Я думал, что это только теги, которые на самом деле имеют «ввод» в имени тега. Работал отлично. Спасибо :) – andrewheins

+0

Просто подумайте о том, как вы это сделаете с нормальной DOM - это все равно textarea.value - не textarea.nodeValue или textarea.data или что-то еще. –

5
+2

+1 для формата «Stackoverflow Archive». : P –

+1

+1 для ссылок –

+0

Спасибо, ребята. Это невероятно просто сделать поиск по сайту в Google, поэтому я пытаюсь добавить часть «архива» на любые вопросы, похожие на прошлые темы, которые Google появляется. – Sampson

-2

Я не уверен, но одна возможность заключается в том, что вы должны сделать:

function(data){ 
    $("textarea").attr("value",data); 
    alert('done'); 
} 
0

Не было бы проще использовать функцию load()?

$("input[name='db_entries']").click(function() { 
    $("#outputarea").load("?", {"paramName":this.value}); 
}); 
+0

Почему? ' – Sampson

+0

Вся цель обработчика onclick - установить содержимое элемента textarea, не так ли? И это то, что делает load(). – VolkerK

Смежные вопросы