如何实现在原来的地方更新某行的内容,不跳转到别的页面

super_loverax 2011-10-27 11:40:33
rt,比如像.net里面的gridview的功能,当需要更新内容的时候,点击更新,改行的内容就显示在一个表单里面,更新完了之后点击确定就可以了。

想问一下,如何实现gridview的这种功能,比如在其他的语言里面。用javascript或者什么方式可以实现吗?虚心请教!
...全文
163 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
super_loverax 2011-10-28
  • 打赏
  • 举报
回复
呵呵 是啊!我在想是不是通过给每行动态给一个id值,然后javascript获取id值之后 动态的给原来所在行创 表单对象 将原来的value赋值给表单 然后更新之后用ajax处理数据!
没有尝试过这么做 也不知道是否可行!
[Quote=引用 6 楼 ycmjh2010 的回复:]
引用 4 楼 super_loverax 的回复:

唉 我不是不知道ajax这种异步交互方式啊,我是想知道 如何在更新的那条记录后面点击更新 就变成了可以编辑的表单状态,编辑完了之后用ajax进行异步处理。重点貌似不是在数据的处理上,而是表现形式上了!

引用 3 楼 ycmjh2010 的回复:
引用 2 楼 super_loverax 的回复:

给个关键字或者链接,谢谢哈!
……
[/Quote]
super_loverax 2011-10-28
  • 打赏
  • 举报
回复
你的意思我基本上懂了,你这个还是实现了刷新的,呵呵,虽然我用jsp写!
[Quote=引用 5 楼 yykkyy 的回复:]
vbs就可以了,不过要用到页面跳转
在显示记录的时候在前面加<a href="处理页面.asp?action=edit&id=<%=记录id1%>">记录1</a>

在 处理页面.asp 处理之后在history.back()回到原来的页面
[/Quote]
光曰不日 2011-10-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 super_loverax 的回复:]

唉 我不是不知道ajax这种异步交互方式啊,我是想知道 如何在更新的那条记录后面点击更新 就变成了可以编辑的表单状态,编辑完了之后用ajax进行异步处理。重点貌似不是在数据的处理上,而是表现形式上了!

引用 3 楼 ycmjh2010 的回复:
引用 2 楼 super_loverax 的回复:

给个关键字或者链接,谢谢哈!
引用 1 楼 ycmjh2010 的回复:

aj……
[/Quote]javascript就是前端脚本语言,通过控制dom完全可以达到你要的效果,但是要写得优雅需要花时间,你也可以用ext之类的框架简化工作量,只是现在有点忙呵呵,有机会写个demo给你
yykkyy 2011-10-28
  • 打赏
  • 举报
回复
vbs就可以了,不过要用到页面跳转
在显示记录的时候在前面加<a href="处理页面.asp?action=edit&id=<%=记录id1%>">记录1</a>

在 处理页面.asp 处理之后在history.back()回到原来的页面
super_loverax 2011-10-28
  • 打赏
  • 举报
回复
唉 我不是不知道ajax这种异步交互方式啊,我是想知道 如何在更新的那条记录后面点击更新 就变成了可以编辑的表单状态,编辑完了之后用ajax进行异步处理。重点貌似不是在数据的处理上,而是表现形式上了!

[Quote=引用 3 楼 ycmjh2010 的回复:]
引用 2 楼 super_loverax 的回复:

给个关键字或者链接,谢谢哈!
引用 1 楼 ycmjh2010 的回复:

ajax 自己搜
http://baike.baidu.com/view/1641.htm
[/Quote]
光曰不日 2011-10-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 super_loverax 的回复:]

给个关键字或者链接,谢谢哈!
引用 1 楼 ycmjh2010 的回复:

ajax 自己搜
[/Quote]http://baike.baidu.com/view/1641.htm
licip 2011-10-28
  • 打赏
  • 举报
回复
你先把ajax的知识学一学,就会了。
henghe98 2011-10-28
  • 打赏
  • 举报
回复




var GridTemplete = {
currentEditRow: null,
changeFlag: "",
errorFlag: false,
dataFlag: "",
index: 1,
EditRow: function (row) {
if (event.srcElement.tagName == "TD") {
if (GridTemplete.currentEditRow != null) {
GridTemplete.SaveRow(row);
}
else {
GridTemplete.Complete(row);
}
}
},
SaveRow: function (row) {

if (GridTemplete.changeFlag == true) {
var data = {
"fld_ID": $(GridTemplete.currentEditRow).attr("id"),
"name": $("#name").val().trim(),
"mark": $("#mark").val().trim(),
"score": $("#score").val().trim(),
"questionID": $(GridTemplete.currentEditRow).attr("questionID"),
"action": "edit"
};
//GridTemplete.Save(data, row);
GridTemplete.Complete(row);
} else {
GridTemplete.Complete(row);
}
},
Complete: function (row) {
if (GridTemplete.currentEditRow != null) {
GridTemplete.InitRow(GridTemplete.currentEditRow);
}
if (row == null) {
GridTemplete.currentEditRow = null;
GridTemplete.changeFlag = false;
} else {
GridTemplete.StartEdit(row);
GridTemplete.currentEditRow = row;
GridTemplete.changeFlag = false;
}
},
StartEdit: function (row) {

if (!row) {
return;
}

cell = $(row).children().eq(1);
var name = $(cell).text().trim();
cell.html("<textarea id='name' class='textarea' onchange='javascript:GridTemplete.DoChange();'>" + name + "</textarea>");

cell = $(row).children().eq(2);
var mark = $(cell).text().trim();
cell.html("<textarea id='mark' class='textarea' onchange='javascript:GridTemplete.DoChange();'>" + mark + "</textarea>");

cell = $(row).children().eq(3);
var score = $(cell).text().trim();
cell.html("<input id='score' onkeydown='EV.Page.KeyDown(this);' onchange='javascript:GridTemplete.DoChange();' value='" + score + "' size='2' />")


},
InitRow: function (row) {
if (row == null)
return;

cell = $(row).children().eq(1);
cell.html($("#name").val());

cell = $(row).children().eq(2);
cell.html($("#mark").val());

cell = $(row).children().eq(3);
cell.html($("#score").val());

GridTemplete.currentEditRow = null;
},
DoChange: function () {
GridTemplete.changeFlag = true;
},
Save: function (data, row) {
//aler();
$.ajax({
type: "post",
url: "Ajax.aspx",
data: data,
success: function (rt) {
if (rt == "success") {
GridTemplete.Complete(row);
Ext.Msg.show({ msg: "修改成功", title: "提示消息" });
} else if (rt == "fail") {
Ext.Msg.show({ msg: "修改失败", title: "提示消息" });
}
setTimeout("Ext.Msg.hide()", 1500);
},
error: function () {
alert(0);
}
});

}
};


<table>
<tr onclick='GridTemplete.EditRow(this); '>
<td>编号1</td>
<td>s</td>
<td>f</td>
<td>0</td>
</td>
</tr>
<tr onclick='GridTemplete.EditRow(this); ' title='单击可以编辑'>
<td>编号1</td>
<td>s</td>
<td>f</td>
<td>90</td>
</td>
</tr>
<td>编号2</td>
<td>sf</td>
<td>fd</td>
<td>100</td>
</td>
</tr>
</table>
super_loverax 2011-10-27
  • 打赏
  • 举报
回复
给个关键字或者链接,谢谢哈!
[Quote=引用 1 楼 ycmjh2010 的回复:]

ajax 自己搜
[/Quote]
光曰不日 2011-10-27
  • 打赏
  • 举报
回复
ajax 自己搜

87,989

社区成员

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

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