js 调用 php,利用js调用后台php进行数据处理原码

該方法已經屬於過時方法,其中關鍵的地方也從論壇上得來的,我只是把它消化吸收后重新写了更全面的出来。公布出來只是希望更多的新手能從中學到一些東西。如果你對該代碼有任何意見可以留言,但請勿進行人身攻擊,我是一個菜鳥只能寫出這樣的東西,每个老鸟都有这样的过程。

鉴于时间问题,代碼的提交部分使用的是传统的表单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提取数据进行编辑并回存[演示]

body {

font-family: "Verdana", "Arial", "Helvetica", "sans-serif";

font-size: 12px;

line-height: 17px;

scrollbar-base-color: #BBBBBB;

scrollbar-shadow-color: #BBBBBB;

scrollbar-highlight-color: #FFFFFF;

scrollbar-3dlight-color: #000000;

scrollbar-darkshadow-color: #000000;

scrollbar-arrow-color: #FFFFFF;

}

table {

border: 0;

font-size: 12px;

cursor: default;

}

td {

text-align: left;

height: 20;

}

input {

width: 100;

height: 18;

border: 0px solid #666666;

text-align: left;

}

var objInput = null;

var objTd = null;

var num =null;

function AutoEdit(obj,id)

{

if (objInput == null)

{

objTd = obj;

obj.innerHTML = "

id=\"objInput\" οnblur=\"objTd.innerText=this.value;LoadData(objTd.innerText,num);objInput=null;\" style=\"overflow:

visible;border:none;background-color:#EFEFEF\">";

objInput = document.getElementById("objInput");

objInput.focus();

}

}

function LoadData(LoadIndex,LoadObj)

{

var LoadFileName="load.php?action=" + LoadIndex + "&num=" + LoadObj;

document.getElementById("LoadDataSrc").src = LoadFileName;

}

function OutPutData(obj)

{

if (form1.num1.value.length<1){ alert("请输入数量1"); return false;}

if (form1.num2.value.length<1){ alert("请输入数量2"); return false;}

if (document.getElementById("name1").innerHTML.length<1){ alert("name1空值"); return false;}

if (document.getElementById("name2").innerHTML.length<1){ alert("name2空值"); return false;}

obj.innerHTML="";

obj.innerHTML+="";

obj.innerHTML+="";

obj.innerHTML+="";

obj.innerHTML+="";

obj.innerHTML+="";

obj.innerHTML+=form1.submit();

}

function postdata()

{

form1.submit();

}

a
b
a
b

------------------------------------------------------

LOAD.php

PHP代码:-----------------------------------------------

header("Cache-Control: no-store, no-cache,must-revalidate");

include("obj/financial_obj_free.inc");          //这个文件里的内容是连接MYSQL的语句。

$str=$_GET["action"];

$num=$_GET["num"];

if ($str=="OutPutData") OutPutData();

else

{

linkdata("financial",1);

$sql="select * from table where id='$str'";

if ($query=mysql_query($sql))

{

$temdata=mysql_fetch_row($query);         //看看是不是空的,如果是就附上值以免JS报错。

if (strlen($temdata[2])<1||$temdata[2]=="") $temdata[2]="空";

$temdata[2]=htmlspecialchars($temdata[2]);

if (strlen($temdata[3])<1||$temdata[3]=="") $temdata[3]="空";

$temdata[3]=htmlspecialchars($temdata[3]);

if (strlen($temdata[5])<1||$temdata[5]=="") $temdata[5]="空";

$temdata[5]=htmlspecialchars($temdata[5]);

}

else

{

$temdata[2]=$temdata[3]=$temdata[5]="查询失败";

}

switch ($num)   //这个主要是用于检查是从第几列(行)传过来的。注意变量值要与input的id值对应好.否则出错

{

case 1:

$diva="name1";

$divb="type1";

$divc="date1";

break;

case 2:

$diva="name2";

$divb="type2";

$divc="date2";

break;

default:

$diva="name1";

$divb="type1";

$divc="date1";

break;

}

//确定节点,输出$temdata[X]到节点$divX;

echo "document.getElementById('".$diva."').innerHTML='".$temdata[2]."';";

echo "document.getElementById('".$divb."').innerHTML='".$temdata[3]."';";

echo "document.getElementById('".$divc."').innerHTML='".$temdata[5]."';";

}

function OutPutData() //这下面如果改成SQL语句就可以写进数据库

{

echo "输出的数据如下,改成SQL语句然后就可以保存下来";

echo "编号1=".$_POST["name1"]."
";

echo "编号2=".$_POST["name2"]."
";

echo "名称1=".$_POST["type1"]."
";

echo "名称2=".$_POST["type2"]."
";

echo "日期1=".$_POST["date1"]."
";

echo "日期2=".$_POST["date2"]."
";

echo "数量1=".$_POST["num1"]."
";

echo "数量2=".$_POST["num2"]."
";

echo "返回";

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值