`

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

    博客分类:
  • ajax
阅读更多
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");
		}
分享到:
评论

相关推荐

    JS双击变input框批量修改内容

    当用户编辑完内容并离开输入框(失去焦点)时,会触发`onblur`事件。此时,函数内部将检查新输入的内容是否与原始内容不同。如果不同,则通过AJAX将新的内容发送到服务器端,由服务器执行更新数据的操作,并返回一个...

    可编辑表格

    在IT领域,尤其是在Web开发中,可编辑表格是一种常见的需求,它允许用户直接在网页上的表格内修改数据,提供了一种交互性强的数据管理方式。原生JavaScript制作的可编辑表格无需依赖外部库,如jQuery或Angular等,...

    jquery将table表格变成可编辑

    当用户点击某个单元格时,我们将该单元格的内容变为可编辑的输入框(`&lt;input&gt;`)。以下是一个基本的实现步骤: 1. **引入jQuery库**:确保HTML文件中已经包含了jQuery库,通常通过在`&lt;head&gt;`标签内添加如下代码来...

    jqueryTable编辑的实现

    在本文中,我们将深入探讨如何实现`jQuery Table`编辑功能,包括鼠标点击表格单元格进行编辑,以及在失去焦点(onblur)时通过Ajax保存数据。此外,我们还将提及与实现此功能相关的`jQuery`和`Table`技术。 首先,`...

    jquery实例3:可编辑的表格

    // 监听输入框的blur事件,当失去焦点时更新表格 input.blur(function() { var updatedValue = $(this).val(); $(this).parent().text(updatedValue); }); }); }); ``` 这个示例中,我们使用了jQuery的`....

    jquery可编辑性表格

    在这个例子中,双击单元格会将其转换为文本输入框,用户编辑后失去焦点时,通过Ajax将新值发送到服务器并更新表格。 ### 六、最佳实践 1. **数据验证**:在保存数据前进行客户端验证,确保输入符合预期格式和规则...

    Jquery实现可编辑的表格

    本主题将深入探讨如何使用jQuery实现一个可编辑的表格功能,允许用户即时修改表格内的数据并保存更改。 首先,我们需要一个基本的HTML结构来创建表格。表格通常由`&lt;table&gt;`标签定义,`&lt;thead&gt;`包含表头(`&lt;th&gt;`标签...

    JQuery实现可编辑表格

    同时,我们还需要考虑失去焦点(`blur`)或回车(`keyup`,检测`event.keyCode === 13`)时的事件,以便保存用户输入并恢复表格布局。 动画效果可以提升用户体验。例如,当用户点击单元格时,可以使用jQuery的`....

    jquery可编辑表格

    4. **保存更改**:当用户离开输入框(例如,失去焦点或按下回车键)时,将输入框的新值设置回原单元格,并销毁输入框。 5. **数据处理**:如果需要,可以在此步骤中进行数据验证或调用Ajax更新后台数据。 此外,...

    JQuery实现可编辑的表格

    `$('td').on('blur', function() {...})`则在单元格失去焦点时执行相应操作,如保存更改。 4. **样式调整**:在编辑模式下,我们可以添加一些CSS类来突出显示当前正在编辑的单元格,如`.addClass('editing')`。同时...

    JQUERY基础教程实例(表格编辑)

    为了确保数据一致性,可能需要在用户离开编辑单元格(如失去焦点或点击其他地方)时进行验证和保存。这可以通过`.blur()`事件实现。在该事件的回调函数中,我们可以检查新输入的内容是否有效,然后决定是否提交更改...

    可编辑的单元格.rar

    `click`事件在用户点击单元格时触发,`focus`和`blur`控制输入框的焦点获取与失去,`change`则用于捕获数据变化。 3. **数据存储与更新**:当用户编辑单元格后,可能需要保存这些更改。这可以通过AJAX...

    Ajax实现动态显示并操作表信息的方法

    在上述代码中,当输入框失去焦点时,会将编辑后的数据封装进editData对象,并通过Ajax发送到服务器,以完成数据的更新操作。 需要注意的是,对于数据的增加操作,原理与显示操作相似,也是通过Ajax获取数据,并将...

    bootstrap table单元格新增行并编辑

    // 当输入框失去焦点时(blur 事件)处理数据 input.bind("blur", function () { var inputnode = $(this); var inputtext = inputnode.val(); var tdNode = inputnode.parent(); tdNode.html(inputtext); ...

    JQuery_html总结.pdf

    - `hover(function() {}, function() {})`:元素获得和失去焦点时触发。 - **键盘按键事件**: - `keydown(function() {})`:键盘按键按下时触发。 - **焦点变化事件**: - `focus(function() {})`:元素获得焦点时...

    js实现双击单元格变文本框

    3. **文本框与单元格的转换**:当用户双击一个单元格时,该单元格的内容会被替换为一个可编辑的文本框。当用户完成编辑并离开文本框时,文本框的内容将被保存回单元格。 #### 实现步骤详解 ### 步骤一:初始化变量...

    2021-2022计算机二级等级考试试题及答案No.132.docx

    在转换为关系模式时,实体通常对应于关系,联系也可以转换为关系。 4. HTML代码中,表格单元格的背景颜色可以通过CSS样式设置,例如使用`&lt;td style="background-color: color;"&gt;`来设定背景色。 5. Tomcat服务器的...

    js共享 js 问题

    为了方便前端处理这些数据,可以先将JSON数组转换成字符串并存储起来,之后再在JavaScript中解析使用。 #### 四、页面链接与导航 **5. 设置默认目标** ```html ``` **知识点:** - **`&lt;base&gt;`标签**: 定义...

    HTML5知识点汇总.docx

    例如,`&lt;input tabindex="1"&gt;`将比`&lt;input tabindex="2"&gt;`先获得焦点。HTML5中,开发者可以通过设置这个属性来优化用户体验,确保页面的导航逻辑清晰。 3. **Selectors API** Selectors API是HTML5引入的一个高效...

    JS实现自定义简单网页软键盘效果代码

    它首先获取当前焦点的输入元素(在这里是`&lt;input id="input"&gt;`),然后根据点击的`&lt;td&gt;`元素的`innerHTML`来更新输入框的值。例如,如果用户点击了"退格",则删除最后一个字符;如果点击了"切换大/小写",则更改所有...

Global site tag (gtag.js) - Google Analytics