我正在尝试使用load()
函数从PHP文件中获取用户内容并将其显示在textarea中,但是如果用户事先在texarea中键入内容,则相同的过程将无效。任何人都有解决方案吗?
例如:在textarea中输入内容,然后点击不会改变texarea内容的链接。
提前致谢
HTML
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function show_content(display_field, id)
{
$('#' + display_field).load('data.php?id=' + id);
}
</script>
<a href="#nogo" onClick="show_content('content_area', '1')" title="View">User 1</a>
<a href="#nogo" onClick="show_content('content_area', '2')" title="View">User 2</a>
<a href="#nogo" onClick="show_content('content_area', '3')" title="View">User 3</a>
<textarea id="content_area" rows="10" cols="10"></textarea>
PHP
<?php
$content[1] = 'This belongs to User 1';
$content[2] = 'This belongs to User 2';
$content[3] = 'This belongs to User 3';
echo $content[$_GET['id']];
?>
答案 0 :(得分:3)
您的问题是load()
设置了html
而不是value
。
你可以用这个:
function show_content(display_field, id) {
$.get( 'data.php?id=' + id, function( data ) {
$('#' + display_field).val(data);
});
}
<强> .get() 强>
答案 1 :(得分:0)
你没有说明什么&#34;赢得了工作&#34;手段。如果你的意思是textarea内容有时会出现错误,我怀疑这是因为你正在启动三个异步调用$(#xxx).load(();每个都将独立执行,并在将来以随机顺序更新你的textarea。 / p>
而是做这样的事情:
$('#temp').load('data.php?id=' + id, function (responseText, textStatus, XMLHttpRequest) {
$('#display_field).val($('#temp').val());
);
每个结果将按顺序执行,加载到您的结果中。它们可能不符合您调用它们的顺序。