参考资料 http://www.phpfans.net/manu/Prototype/prototype/api/ajax/request.htm 一个管理管理系统 实现点击可编辑 php开发 <td nowrap id="t_rop" ondblClick="ChangeTest(this,{$projectTask[p_task].pj_id},{$projectTask[p_task].id})">{$projectTask[p_task].rop} <span>%</span></td> function ChangeTest(obj,pj_id,taskId) { html="<form name=/"taskForm/" action=/"/" method=/"/">"; html+= "<table align='left'><div><tr>"; html+="<input type='hidden' name='pj_id' value="+pj_id+">"; html+="<input type='hidden' name='taskId' value="+taskId+">"; if(document.all){html+="<input type='text' id='task_rop' name='task_rop' maxlength='2' size='2' value="+obj.innerText.replace("%","")+">"}//支持innerText浏览器使用 else{html+="<input type='text' id='task_rop' name='task_rop' maxlength='2' size='2' value="+obj.textContent.replace("%","")+">"}//不支持innerText的firefox用 html+="<input type='button' value='OK' οnclick='saveUpdateRop(this,"+pj_id+","+taskId+")'>"; html+="</tr></div></table>"; html+="</form>"; obj.innerHTML=html; } function saveUpdateRop(obj,pj_id,taskId){ var task_rop = document.getElementById('task_rop'); var url = "./?module=Project_Task&act=DoEditProjectTaskListDetail"; param = "pj_id=" + pj_id+"&taskId=" + taskId+"&task_rop=" + task_rop.value; new Ajax.Request(url,{method:'post',parameters: param, onSuccess: function(transport){ { if(transport.status/200!==0){ $('t_rop').innerHTML =task_rop.value; $('t_rop').innerHTML += "%"; window.location.reload();//局部刷新 alert("更新成功! "+"进度更新为"+task_rop.value+"%"); } else {alert(transport.onreadystatechange);} //alert(transport.status); // alert(transport.readyState); // alert(transport.onreadystatechange); // alert(transport.responseText); } }}); } 修改下 function saveUpdateRop(obj,pj_id,taskId){ var task_rop = document.getElementById('task_rop'); if (/^-?/d+$/.test(task_rop.value))//验证是否为数值 { var url = "./?module=Project_Task&act=DoEditProjectTaskListDetail"; param = "pj_id=" + pj_id+"&taskId=" + taskId+"&task_rop=" + task_rop.value; new Ajax.Request(url,{method:'post',parameters: param, onSuccess: function(transport){ { if(transport.responseText >'1'){ // if(transport.status/200!==0){//判断是否执行成功 obj.innerHTML =task_rop.value; alert("更新成功! "+"进度更新为"+task_rop.value+"%"); window.location.reload();//局部刷新 } else{alert("更新失败!");} } }}); } else {alert("请检查输入的数据!");} }