該方法已經屬於過時方法,其中關鍵的地方也從論壇上得來的,我只是把它消化吸收后重新写了更全面的出来。公布出來只是希望更多的新手能從中學到一些東西。如果你對該代碼有任何意見可以留言,但請勿進行人身攻擊,我是一個菜鳥只能寫出這樣的東西,每个老鸟都有这样的过程。
鉴于时间问题,代碼的提交部分使用的是传统的表单POST,如果您喜欢可以根据LOAD过程自行加上相应的SCRIPT,不过好像只
能用GET了。聽說XML可以實現真正的無刷新,如果誰手上有希望能借來看看。
在此感謝QQ群組中蓝劍雪狐和shelly水在JS上給予的幫助,也新手們能把自己寫的功能代碼貼出來大家一起來學習研究。
最後附上演示地址:http://lfox0002.dns0755.net/text_input.php 請喜歡HACK他人機器的朋友們手下留情,附上演示是為了讓朋友們能更快了解代碼。
input.php[HTML] 接受用户输入数据。
PHP代码:--------------------------------------------------------------------------------
/*
申 明
------------------------------
该演示文件详细描述了利用JS+PHP对数据库进行類似無刷新读出写入的方法
2004年02月14日
By L.Fox
*/
header("Cache-Control: no-store, no-cache,must-revalidate"); //這兩行可以取消,把文件存成HTML
echo $_POST["name1"]; //我是為了?#123;試方便才加的。
?>
根据编号从MYSQL提取数据进行编辑并回存[演示]
<script><br />var objInput = null;<br />var objTd = null;<br />var num =null;<br />function AutoEdit(obj,id)<br />{<br /> if (objInput == null)<br /> {<br /> objTd = obj;<br /> obj.innerHTML = "<input size=\"10\" maxlength=\"10\" type=\"text\" value=\"" + obj.innerText + "\" <br />id=\"objInput\" onblur=\"objTd.innerText=this.value;LoadData(objTd.innerText,num);objInput=null;\" style=\"overflow:<br />visible;border:none;background-color:#EFEFEF\">";<br /> objInput = document.getElementById("objInput");<br /> objInput.focus();<br /> }<br />}<br /><br />function LoadData(LoadIndex,LoadObj)<br />{<br /> var LoadFileName="load.php?action=" + LoadIndex + "&num=" + LoadObj;<br /> document.getElementById("LoadDataSrc").src = LoadFileName;<br />}<br />function OutPutData(obj)<br />{<br /> if (form1.num1.value.length<1){ alert("请输入数量1"); return false;}<br /> if (form1.num2.value.length<1){ alert("请输入数量2"); return false;}<br /> if (document.getElementById("name1").innerHTML.length<1){ alert("name1空值"); return false;}<br /> if (document.getElementById("name2").innerHTML.length<1){ alert("name2空值"); return false;}<br /> obj.innerHTML="<input type=\"hidden\" name=\"name1\" value=\"" + document.getElementById("name1").innerHTML + "\">";<br /> obj.innerHTML+="<input type=\"hidden\" name=\"name2\" value=\"" + document.getElementById("name2").innerHTML + "\">";<br /> obj.innerHTML+="<input type=\"hidden\" name=\"type1\" value=\"" + document.getElementById("type1").innerHTML + "\">";<br /> obj.innerHTML+="<input type=\"hidden\" name=\"type2\" value=\"" + document.getElementById("type2").innerHTML + "\">";<br /> obj.innerHTML+="<input type=\"hidden\" name=\"date1\" value=\"" + document.getElementById("date1").innerHTML + "\">";<br /> obj.innerHTML+="<input type=\"hidden\" name=\"date2\" value=\"" + document.getElementById("date2").innerHTML + "\">";<br /> obj.innerHTML+=form1.submit();<br />}<br />function postdata()<br />{<br /> form1.submit(); <br />}<br /></script>