急!!! 我如何在ASP里面接收从JS传过来的数据,然后再写进数据库里面,下面是一个关于留言的JS

我只有这点分了,大侠帮帮忙啊~ 非常感激
<SCRIPT language=javascript type=text/javascript>
function change(type, obj) {
if (obj.checked) {
$("#txt" + type).attr("readonly", "");
}
else
$("#txt" + type).attr("readonly", "readonly");
}

function valReset() {

$("#txtName").val("");
$("#txtTel").val("");
$("#txtFax").val("");
$("#txtAddress").val("");
$("#txtCompany").val("");
$("#txtEmail").val("");
$("#txtMsg").val("");
}

function send() {
var _name = $("#txtName").val();
var _tel = $("#txtTel").val();

if (_name == "") {
alert("请填写您的姓名!");
return;
}
if (_tel == "") {
alert("请填写您的电话或手机号!");
return;
}
var regTel = /^\d{4,}[-]?\d{1,}$/;

if (!regTel.test(_tel)) {
alert("您的电话格式不正确!");
return;
}
var _fax = $("#txtFax").val();
var _address = $("#txtAddress").val();
var _company = $("#txtCompany").val();
var _email = $("#txtEmail").val();
var _msg = $("#txtMsg").val();
var xinghao = "";
var flag = false;

if (confirm("Order Confirmation?")) {
$.post("savely.asp",
{
operateType: "15",
name: encodeURIComponent(_name),
tel: _tel,
email: _email,
fax: _fax,
address: encodeURIComponent(_address),
company: encodeURIComponent(_company),
msg: _msg
},
function (result) {
if (result == "1") {
alert("订单成功,我们将会尽快联系您!");
valReset();
}
else
alert("订单失败!");
}
)
}
}

</SCRIPT>
我用request一个个将参数读出来存到数据库里,出现的是这种情况“%E5%A3%AB%E5%A4%A7%E5%A4%AB” ,去掉这个encodeURIComponent() 结果就是“镄勮惃鑺镄勮惃鑺”

你输入的字符有中文是吗?
那么先JS部分这样写:

$.post("savely.asp",
{
operateType: "15",
name: escape(_name),
tel: _tel,
email: _email,
fax: _fax,
address: escape(_address),
company: escape(_company),
msg: _msg
},

这里是关键。然后在savely.asp页面中写:
先加一个ASP函数
'与javascript中的unescape()等效
Function UnEscape(ByVal str)
Dim x, s
x = InStr(str,"%")
s = ""
Do While x>0
s = s & Mid(str,1,x-1)
If LCase(Mid(str,x+1,1))="u" Then
s = s & ChrW(CLng("&H"&Mid(str,x+2,4)))
str = Mid(str,x+6)
Else
s = s & Chr(CLng("&H"&Mid(str,x+1,2)))
str = Mid(str,x+3)
End If
x=InStr(str,"%")
Loop
UnEscape = s & str
End Function
然后下面是调用方法:
Dim GetoperateType:GetoperateType = Request.Form("operateType")
Dim Getname:Getname = UnEscape(Request.Form("name"))
其他字段也是这样的写法。就能得到数据了。 并且支持中文了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-26
在savely.asp页面里
用request一个个将参数读出来存到数据库里

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网