ajax实现在直接在表格中修改数据
2009-08-01 21:25
495 查看
<script type="text/javascript">
var req;
var gID;
function changeToInput(id) {
var oNP = document.getElementById(id);
var value = oNP.value;
//outerHTML把oNP对象整个替换掉
oNP.outerHTML = "<input type='text' id='" + id + "' value='" + value + "' size='5' onblur='change(this.id)'>";
document.getElementById(id).focus();
}
function change(id) {
var oNP = document.getElementById(id);
var value = oNP.value;
gID = id;
init();
//提交数据到修改数据的页面修改
var url = "ChangePrice.jsp?id=" + escape(id) + "&normalprice=" + value;
req.open("GET", url, true);
req.onreadystatechange = callback;
req.send(null);
}
function init() {
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function callback() {
if(4 == req.readyState) {
if(200 == req.status) {
var oNP = document.getElementById(gID);
var value = oNP.value;
oNP.outerHTML = "<span style='background:gray' id='" + gID + "' value='" + value + "' onclick='changeToInput(this.id)'>" + value + "</span>";
}
}
}
</script>
<%
for (int i = 0; i < products.size(); i++) {
Product p = products.get(i);
%>
<tr>
<td class="altbg2" align="center">
<!-- 复选框 -->
<input type="checkbox" name="id" value="<%=p.getId()%>"/>
</td>
<td class="altbg1" align="center" nowrap="nowrap">
<%=p.getId()%>
</td>
<td class="altbg2" align="center">
<%=p.getName()%>
</td>
<td class="altbg1" align="center">
<%=p.getDescr()%>
</td>
<td class="altbg1" align="center">
<span id="<%=p.getId()%>" style="background:red" onclick="changeToInput(this.id)" value="<%=p.getNormalPrice() %>">
<%=p.getNormalPrice() %>
</span>
</td>
<td class="altbg1" align="center">
<%=p.getMemberPrice()%>
</td>
<td class="altbg1" align="center">
<%=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(p.getPdate())%>
</td>
<td class="altbg1" align="center">
<%//=CategoryService.getInstance().loadById(p.getCategoryId()).getName()%>
<%=p.getCategory().getName()%>
</td>
<td class="altbg1" align="right">
<a target="detail" href="ProductDelete.jsp?id=<%=p.getId()%>" onclick="return confirm('真的要删?')">删</a>
<a target="detail" href="ProductModify.jsp?id=<%=p.getId()%>">改</a>
<a target="detail" href="ProductUpload.jsp?id=<%=p.getId()%>">上传</a>
</td>
</tr>
<%
}
%>
var req;
var gID;
function changeToInput(id) {
var oNP = document.getElementById(id);
var value = oNP.value;
//outerHTML把oNP对象整个替换掉
oNP.outerHTML = "<input type='text' id='" + id + "' value='" + value + "' size='5' onblur='change(this.id)'>";
document.getElementById(id).focus();
}
function change(id) {
var oNP = document.getElementById(id);
var value = oNP.value;
gID = id;
init();
//提交数据到修改数据的页面修改
var url = "ChangePrice.jsp?id=" + escape(id) + "&normalprice=" + value;
req.open("GET", url, true);
req.onreadystatechange = callback;
req.send(null);
}
function init() {
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function callback() {
if(4 == req.readyState) {
if(200 == req.status) {
var oNP = document.getElementById(gID);
var value = oNP.value;
oNP.outerHTML = "<span style='background:gray' id='" + gID + "' value='" + value + "' onclick='changeToInput(this.id)'>" + value + "</span>";
}
}
}
</script>
<%
for (int i = 0; i < products.size(); i++) {
Product p = products.get(i);
%>
<tr>
<td class="altbg2" align="center">
<!-- 复选框 -->
<input type="checkbox" name="id" value="<%=p.getId()%>"/>
</td>
<td class="altbg1" align="center" nowrap="nowrap">
<%=p.getId()%>
</td>
<td class="altbg2" align="center">
<%=p.getName()%>
</td>
<td class="altbg1" align="center">
<%=p.getDescr()%>
</td>
<td class="altbg1" align="center">
<span id="<%=p.getId()%>" style="background:red" onclick="changeToInput(this.id)" value="<%=p.getNormalPrice() %>">
<%=p.getNormalPrice() %>
</span>
</td>
<td class="altbg1" align="center">
<%=p.getMemberPrice()%>
</td>
<td class="altbg1" align="center">
<%=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(p.getPdate())%>
</td>
<td class="altbg1" align="center">
<%//=CategoryService.getInstance().loadById(p.getCategoryId()).getName()%>
<%=p.getCategory().getName()%>
</td>
<td class="altbg1" align="right">
<a target="detail" href="ProductDelete.jsp?id=<%=p.getId()%>" onclick="return confirm('真的要删?')">删</a>
<a target="detail" href="ProductModify.jsp?id=<%=p.getId()%>">改</a>
<a target="detail" href="ProductUpload.jsp?id=<%=p.getId()%>">上传</a>
</td>
</tr>
<%
}
%>
相关文章推荐
- 用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
- 用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
- 使用Jquery实现可编辑的表格 并使用AJAX提交到服务器修改数据
- 用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
- 使用Jquery实现可编辑的表格 并使用AJAX提交到服务器修改数据
- 利用AjaxPro2.0实现在页面直接修改数据
- 使用Jquery实现可编辑的表格 并使用AJAX提交到服务器修改数据
- plsql developer如何在窗口列表直接可以修改表格中的数据?
- 基于Ajax技术实现的数据表格控件
- jq实现点击表格无刷新修改数据,优化版
- jQuery+Ajax实现表格数据不同列标题排序
- MFC 当列表控件为Report报表形式时,怎样实现修改表格数据
- ThinkPHP定时ajax获取后台数据,使用javascript动态修改前端页面的表格来显示数据
- jQuery+Ajax实现表格数据不同列标题排序(为表格注入活力)
- JavaWeb开发中Ajax、json与java实现List、Map数据直接传递的研究
- 使用Jquery的ajax方式实现对表格的删除和修改
- JavaWeb开发中Ajax技术、json与java实现List、Map数据直接传递的研究
- 谈谈yii2-GridView如何实现列表页直接修改数据
- Ajax读取数据到表格的实现代码