用ajax上传后文本框文字不会再变动了

椰果子 2013-06-08 10:47:14

大家好,我遇到了个奇怪的问题,如图所示,当我使用JQuery ajax更新过图片的信息后,用于显示图片信息的文本框不知道为什么改变不了了,虽然文本框的Value一直在变化,但是在页面上显示的还是原样没有变化,很奇怪。


我的页面左侧有一些<li>元素,下面是替换图片,添加图片信息到文本框的代码.

//点击li,替换背景,同时获取图片的信息,添加到信息栏;
$(".smallPicUl li").click(function () {
$(".smallPicUl li").removeClass("liSelected");
$(this).addClass('liSelected');
var thisid = $(this).attr("id");
$.get("../Tools/viewserver.ashx", { id: thisid, action: "getProjectPictureInfo" },
function (data) {
$("#pictureInfo").attr("value", data);
$("#pictureInfo").attr("data-id", thisid); //给bigImg控件添加一个id;
});
});


这个是更改图片信息的代码;

function updateImgInfo() {
var thisid = $("#pictureInfo").attr("data-id");
if (thisid != "")
{
$.post("../Tools/viewserver.ashx", { id: thisid, text: $("#pictureInfo").val(), action: "updateProjectPictureInfo" });
}
};


文本框和更新按钮的代码

<div class="PicInfo">
<input runat="server" id="pictureInfo" class="PicInfoInput" type="text" />
<input id="ButtonEdit" type="button" value="修改" onclick="updateImgInfo()" />
</div>


求各位高手帮忙解答下,我不明白问题出在哪,是不是我AJAX写错了。
...全文
141 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
铁克禁卫军 2013-06-08
  • 打赏
  • 举报
回复
先看下是不是页面缓存的原因,再来确定代码问题
椰果子 2013-06-08
  • 打赏
  • 举报
回复
引用 1 楼 w_mojian180 的回复:
你没有给pictureInfo赋值啊
更新完之后还要给input赋值吗,我的做法是在用户点击<li>的时候,刷新input的值。但是如果提交了一次修改,点<li>就没有反应了。
路伊阑珊 2013-06-08
  • 打赏
  • 举报
回复
updateImgInfo()中添加下面的句子
 $("#pictureInfo").attr("value", data);
路伊阑珊 2013-06-08
  • 打赏
  • 举报
回复
你没有给pictureInfo赋值啊
路伊阑珊 2013-06-08
  • 打赏
  • 举报
回复
引用 9 楼 A15937822658 的回复:
[quote=引用 8 楼 w_mojian180 的回复:] [quote=引用 3 楼 A15937822658 的回复:] [quote=引用 1 楼 w_mojian180 的回复:] 你没有给pictureInfo赋值啊
更新完之后还要给input赋值吗,我的做法是在用户点击<li>的时候,刷新input的值。但是如果提交了一次修改,点<li>就没有反应了。[/quote] 你自己都说了 用户点击<li>的时候,刷新input的值 你updateImgInfo()方法没有给它赋值 当然没有反应了[/quote] 哦哦,是我没有讲明白,我的updateImgInfo的作用是把input的用户输入内容提交给服务器,更新当前选择图片的图片信息,而点击<li>的时候会从服务器请求图片的信息并且填充在input中,我发现我请求回来的数据是有的,而且已经在input的value中显示出来了,但是在页面显示上仍然显示的是刚刚用户提交更新的那个数据,就是我截的图的那种情况。[/quote] 那这样吧 你试试 添加value值之前 先把value置空 看看效果
椰果子 2013-06-08
  • 打赏
  • 举报
回复
引用 8 楼 w_mojian180 的回复:
[quote=引用 3 楼 A15937822658 的回复:] [quote=引用 1 楼 w_mojian180 的回复:] 你没有给pictureInfo赋值啊
更新完之后还要给input赋值吗,我的做法是在用户点击<li>的时候,刷新input的值。但是如果提交了一次修改,点<li>就没有反应了。[/quote] 你自己都说了 用户点击<li>的时候,刷新input的值 你updateImgInfo()方法没有给它赋值 当然没有反应了[/quote] 哦哦,是我没有讲明白,我的updateImgInfo的作用是把input的用户输入内容提交给服务器,更新当前选择图片的图片信息,而点击<li>的时候会从服务器请求图片的信息并且填充在input中,我发现我请求回来的数据是有的,而且已经在input的value中显示出来了,但是在页面显示上仍然显示的是刚刚用户提交更新的那个数据,就是我截的图的那种情况。
路伊阑珊 2013-06-08
  • 打赏
  • 举报
回复
引用 3 楼 A15937822658 的回复:
[quote=引用 1 楼 w_mojian180 的回复:] 你没有给pictureInfo赋值啊
更新完之后还要给input赋值吗,我的做法是在用户点击<li>的时候,刷新input的值。但是如果提交了一次修改,点<li>就没有反应了。[/quote] 你自己都说了 用户点击<li>的时候,刷新input的值 你updateImgInfo()方法没有给它赋值 当然没有反应了
倾城之云卷舒 2013-06-08
  • 打赏
  • 举报
回复
$("#pictureInfo").attr("value", ""); 之后再 $("#pictureInfo").attr("value", data); 也许可以。新手。。
椰果子 2013-06-08
  • 打赏
  • 举报
回复
顶一下,求帮忙看下。
椰果子 2013-06-08
  • 打赏
  • 举报
回复
引用 4 楼 lfz860110 的回复:
先看下是不是页面缓存的原因,再来确定代码问题
谢谢,请问怎么查看我的页面缓存? 更新后我点击<li>时,我在查看源代码的地方看到input的value已经改变了,但是实际显示的效果还是刚刚更新的那个信息。

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧