js高手帮我看看为什么表单值为空

来源:百度知道 编辑:UC知道 时间:2024/06/19 22:44:32
我想在浏览器获得一个网页的源码,然后回传到服务器,我找了一段代码修改了一下,但是为什么在post.asp获取result的值??请高手帮忙看看~
<body onLoad="showCode();document.mainform.submit();">
<form name="mainform" method="post" action="post.asp">
<input type="hidden" name="url" value="http://test.com" />
<input type="hidden" name="result">
</form>
<script language=javascript>

function createXMLHttpRequest(){
if(window.XMLHttpRequest){
XMLHttpR = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
XMLHttpR = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLHttpR = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
}
}
}
}

function sendRequest(url){
createXMLHttpRequest();
XMLHt

怀疑使用了ajax以后showCode();document.mainform.submit()2个动作同时进行,所以当你表单提交时,你的result还没有接收到"http://test.com"处理的结果.可以添加个提交按钮手动提交再44看.

从测试的角度建议你在这个函数中alert看看
function processResponse(){
if(XMLHttpR.readyState ==4 && XMLHttpR.status == 200)
{
mainform.result.value=XMLHttpR.responseText;
alert(XMLHttpR.responseTEXT);
}
如果这个没有的话再检查下前面的请求语句以及你的http://text.com是不是存在,如果这个有的话,给form加个button来提交吧,不要在onload里面来提交了

onload()是网页刚刚装入浏览器时触发的.可是你发现没有,你的隐藏域没有value。

有点设计过度,完全自动化,不过是程序小华彩,安安全全的传递信息,良好的客户互动才是正道。

<input type="hidden" name="result">
楼主,你这句是这样写的,没有value,当然就没有值啦,你最好测试一下,可以
if(XMLHttpR.readyState ==4 && XMLHttpR.status == 200)
{
mainform.result.value=XMLHttpR.responseText;
alert(mainform.result)
}
另外,result如此赋值,好像是传不过去的,只能显示显示出来