准备JS文件
我们的代码分客户端和服务端两部分。
服务端就是Foxtable的HttpRequest事件。
客户端就是简单的JavaScript代码,用于按照我们之前约定的get参数规则,向服务器发送反问请求,非常简单。
在目录"d:\web\lib"新建一个文本文件"order.js",内容为:
function edit(){
location="edit.htm?page=" + table1.pagenumber + "&oid=" +
table1.primarykey;
}
function del(){
location="list.htm?page=" + table1.pagenumber + "&deloid=" +
table1.primarykey;
}
function addnew(){
location="edit.htm?page=" + table1.pagenumber;
}
function addDetail(){
location=form1.action + "&addnext=true";
}
function editDetail(){
location = form1.action + "&did=" + detailtable.primarykey;
}
function delDetail() {
location = form1.action + "&deldid=" + detailtable.primarykey;
}
function calc(){
document.getElementById("金额").value = document.getElementById("数量").value
* document.getElementById("单价").value;
}
上代码中的table1为list.htm中的订单表格,form1为edit.htm中的输入表单,detailtable为edit.htm中的订单明细表格。
除了最后一个calc函数用于输入过程自动计算金额外,其他函数都是根据我们上一节
理顺
的get参数规则,根据要完成的任务向服务器发送访问请求,只是简单的字符串合并而已,都很好理解。
一个例子
以编辑订单为例,当我们在list.htm的菜单中执行“编辑订单”,会执行edit函数,该函数的代码为:
function edit(){
location="edit.htm?page=" + table1.pagenumber + "&oid=" +
table1.primarykey;
}
假定我们正在访问第3页,选定订单的订单编号为161130078,此时table1.pagenumber等于2,table1.primarykey等于161130078,以上代码合成的链接为:
edit.htm?page=2&oid=161130078
等于告诉服务器:我正在浏览第3页,我现在要编辑订单编号为161130078的订单。
后面在介绍Foxtable端的代码时,还会对以上js函数逐个讲述。
你有疑问?
我估计少数用户会发出这样的疑问,JS代码文件明明存放在服务端,怎么就是客户端代码呢?
其实在运行的时候,JS代码文件会先被下载到客户端,然后再执行,用户可以通过浏览器查看JS文件的内容,这一点和普通的网页或图片没有不同,都是由客户端浏览器负责显示或执行的。
HttpRequest才是真正的服务端代码,直接在服务端运行,用户是看不到代码的。
所以千万不要在JS代码中出现敏感信息哦。