点击td转换成input,失去焦点时发送修改数据

html:

<script type="text/javascript">
var req;
var gID;
var bak;//备份一份
function changeToInput(id){
var oNP=document.getElementById(id);
var value = oNP.value;
oNP.outerHTML="<input type='text' id='"+id+"'value='"+value+"' size='20' onblur='change(this.id)'>"
document.getElementById(id).focus();
bak = value;
}
function change(id){
var oNP=document.getElementById(id);
var value = oNP.value;
if(value==bak){//如果数据没有更改,则还原到span
oNP.outerHTML="<span id='"+id+"' value='"+value+"' onclick='changeToInput(this.id)'>"+value+"</span>";
return;
}
gID=id;

init();
var url="manage.portal?action=updatePayout&id="+id+"&type="+value;
url=encodeURI(url);
url=encodeURI(url);//写一个不行。如果写一个就是????号。写2个,则输出 %df%a4这种.

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("Micrsoft.XMLHTTP");
}
}
function callback(){
if(req.readyState==4){
if(req.status==200){
var oNP=document.getElementById(gID);
var value=oNP.value;
oNP.outerHTML="<span id='"+gID+"' value='"+value+"' onclick='changeToInput(this.id)'>"+value+"</span>";
}
}
}
</script>

//html部分
<td>
<div align="center">
<span id=<bean:write name="item" property="id"/> onclick="changeToInput(this.id)" value=<bean:write name="item" property="type"/>>
<bean:write name="item" property="type"/>
</span>
</div>
</td>


java代码片段:

if("updatePayout".equals(form.getAction())){
String id=request.getParameter("id");
String type=request.getParameter("type");
try {
id=java.net.URLDecoder.decode(id,"UTF-8");
type=java.net.URLDecoder.decode(type,"UTF-8");//chinese <-->English
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//chinese <-->English
Payouttype payouttype=this.getManageService().getPayouttype(id);
payouttype.setType(type);
this.getManageService().update(payouttype);
System.out.println("------------更新成功------------");
initPayoutTypeList(mapping,form,request,response);
return mapping.findForward("payoutManage");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,对于您的问题,我可以为您提供以下回答: 如果您想要在表格失去自动更新数据,可以使用以下方法: .使用JavaScript的方法可以使用JavaScript编写一个函数,在单元格失去焦点自动更新数据。 例如,您可以使用以下代码: ```javascript function updateCellValue(row, column, value) { // 在此处执行更新数据的操作 } document.querySelector('table').addEventListener('blur', function(e) { if (e.target.tagName === 'TD') { const row = e.target.parentElement.rowIndex; const column = e.target.cellIndex; const value = e.target.textContent; updateCellValue(row, column, value); } }); ``` 此代码将在表格上添加一个事件侦听器,当单元格失去焦点,它将调用名为`updateCellValue()`的函数,其中包含以下三个参数: - 行索引 - 列索引 - 单元格值 您可以在此函数中执行您要更新数据的操作。 2.使用jQuery的方法。 如果您正在使用jQuery,您可以将上述代码简化为以下代码: ```javascript $('table').on('blur', 'td', function() { const row = $(this).parent().index(); const column = $(this).index(); const value = $(this).text(); updateCellValue(row, column, value); }); ``` 此代码将在表格上添加一个事件侦听器,并在单元格失去焦点调用`updateCellValue()`函数,其中包含以下三个参数: - 行索引 - 列索引 - 单元格值 您可以在`updateCellValue()`函数中执行您要更新数据的操作。 希望这些信息能回答您的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值