向html文件传值的问题

夜萧曲的邦 2013-05-07 10:35:26
本地有个html文件,里面有个参数nsrsbh,想通过delphi将字符串4568d5fec798f1549757d77764cda2e1传给nsrsbh,然后打开这个html文件,请问如何实现。html文件如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>申报提醒页面</title>
<base href="${basePath}"></base>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<script type="text/javascript">
//ajax.js
function cretaeXHR() {
try {
return new XMLHttpRequest();
} catch (e) {
}
try {
return new ActiveXObject('Msxml2.XMLHTTP.6.0');
} catch (e) {
}
try {
return new ActiveXObject('Msxml2.XMLHTTP.4.0');
} catch (e) {
}
try {
return new ActiveXObject('Msxml2.XMLHTTP.3.0');
} catch (e) {
}
try {
return new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
}
try {
return new ActiveXObject('MSXML3.XMLHTTP');
} catch (e) {
}
try {
return new ActiveXObject('MSXML.XMLHTTP');
} catch (e) {
}
try {
return new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {
}
try {
return new ActiveXObject('MSXML2.ServerXMLHTTP');
} catch (e) {
}
return null;
}

var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(
'Microsoft.XMLHTTP');

xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
// 当然你可以把200~300之间或304的都理解成响应成功 //callback
}
}
};

/** * 执行基本ajax请求,返回XMLHttpRequest
* Ajax.request(url,{
* async 是否异步 true(默认)
* method 请求方式 POST or GET(默认)
* data 请求参数 (键值对字符串)
* success 请求成功后响应函数,参数为xhr
* failure 请求失败后响应函数,参数为xhr
* });
*
*/
Ajax = function() {
function request(url, opt) {
function fn() {
}
var async = opt.async !== false, method = opt.method || 'GET', data = opt.data
|| null, success = opt.success || fn, failure = opt.failure
|| fn;
method = method.toUpperCase();
if (method == 'GET' && data) {
url += (url.indexOf('?') == -1 ? '?' : '&') + data;
data = null;
}
var xhr = window.XMLHttpRequest ? new XMLHttpRequest()
: new ActiveXObject('Microsoft.XMLHTTP');
xhr.onreadystatechange = function() {
_onStateChange(xhr, success, failure);
};
xhr.open(method, url, async);
if (method == 'POST') {
// xhr.setRequestHeader('Content-type',
// 'application/x-www-form-urlencoded;');
}
xhr.send(data);
return xhr;
}
function _onStateChange(xhr, success, failure) {
if (xhr.readyState == 4) {
var s = xhr.status;
if (s >= 200 && s < 300) {
success(xhr);
} else {
failure(xhr);
}
} else {
}
}
return {
request : request
};
}();

//获取访问页面时候传递的参数
window.QeryStringParser = function(){
var url = window.location.href ;
var rex = /[^\x00-\xff]+/ ;
if(rex.exec(url))url = encodeURI(url) ;
if(url.indexOf("?")<0) return ;
rex = /&(?![\w]+;)/
url = url.substr(url.indexOf("?")) ;
var params = url.split (rex) ;
rex = /([\w_]+)=([\x00-\xFF]*)$/
for(var i=0;i<params.length;i++) {
var m = rex.exec(params[i]) ;
this[m[1]] = decodeURI(m[2]) ;
}
if(this["_pre"])window.location.previousPage = this["_pre"] ;
this.toString = function(){
var s = "" ;
for (var o in this){
if(typeof(this[o])!="string" ) continue ;
s += "&" + o + "=" + this[o] ;
}
if(s.length>0) s = s.substr(1) + "&" ;
s += "_pre=" + window.location.href.substr(0,window.location.href.indexOf("?")) ;
return s ;
}
}
window.QeryStringParser.prototype.getTypeName = function(){
return "QeryStringParser" ;
}

window.QeryStringParser.prototype.getParam = function(name){
if(typeof(this[name])=="undefined") return "" ;
return this[name] ;
}

window.queryString = new QeryStringParser() ;

//访问url
//获取纳税人识别号
//var nsrsbh = "4568d5fec798f1549757d77764cda2e1";
var nsrsbh = queryString.getParam("nsrsbh") ;
//alert(nsrsbh);
var url_sbxtdate_tx = "http://192.168.15.107:8080/btmis2/restx/sbxt/ccmxdxx/sblist?nsrsbh=" + nsrsbh ;
function searchCallback(resp){
var data = eval('(' + resp.responseText + ')');
if(data != null ){

var data1 = data.wsbjl;
var data2 = data.sbccjl;
var str = "<table>"
for(var i=0;i<(data1.length);i++){
str1 = "<tr><td>所属期</td><td style=\"color:red\">" + " "+data1[i].NF +" " + "</td><td>年</td><td style='color:red'>"+ " "+data1[i].YF+" "+"</td><td>月</td><td style='color:red'>" +" "+data1[i].CWBBMC+ " "+"</td><td>未报送</td></tr>";
}
str1 = str+str1 +"</table>"+"</br>";
var str2 = "<table>";
str2 =str2+ "<tr><td>所属期</td><td style='color:red'>"+ " "+(data2[0].SSQ).substr(0,4)+" "+"</td><td>年</td><td style='color:red'>"+ " "+(data2[0].SSQ).substr(5,2)+" "+"</td><td>月财务报表数据差错</td>";
for(var j =0 ; j < (data2.length);j++){
str3="<td style='color:red'>" +" "+data2[j].CWBBMC+ " "+"</td><td style='color:red'>"+" "+"“"+data2[j].CCNR+" "+"”"+"</td>   ";
str3 = str2 + str3 ;
if(data2.length>1){
str3 = str3 + "<td>;</td>"
}

}
str2 = str3+"</tr></table>";
if(data1 != null && data2 != null){
str = str1+str2;
document.getElementById("qwe").innerHTML=str1+str2;
}
if(data1 != null && data2 == null){
str = str1;
document.getElementById("qwe").innerHTML=str1;
}
if(data1 == null && data2 != null){
str = str2;
document.getElementById("qwe").innerHTML=str2;
}


}
}
function callerror(){

}
Ajax.request(url_sbxtdate_tx,{success:searchCallback,error:callerror});
</script>
<body>
<div id="qwe"></div>
</body>
</html>
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜萧曲的邦 2013-05-14
  • 打赏
  • 举报
回复
html文件不能改动。通过控件或者函数来实现
ysai 2013-05-09
  • 打赏
  • 举报
回复
1.改 var nsrsbh = queryString.getParam("nsrsbh") ; 为 var nsrsbh = "{Value}"; 然后替换掉{Value}为你的值再打开HTML 2.用打开的文件加上参数 file:///d:/a.hmtl?nsrsbh=4568d5fec798f1549757d77764cda2e1
Steven_WU 2013-05-09
  • 打赏
  • 举报
回复
sololie 2013-05-09
  • 打赏
  • 举报
回复
跟在LS后面good good study,day day up

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧