代码是PHP内嵌js的..需要截取用户在页面输入的内容记录到文件中.输入页面提交按钮的onclick 事件代码如下...<script type="text/javascript">
function logxx(){
var xxx=document.getElementById('form1').liuyan.value;
window.location.href="modules/log.php?log="+xxx;
document.getElementById('form1').submit();
return true;
}
</script>首先获取输入框的值提交到log.php.然后再提交表单给原地址处理.  log.php的作用是获取传递过来的参数写入到文件中...log.php代码如下...<?php
$xx=$_GET['log'];
$path="log.txt";
if(isset($xx))
{
$fp=fopen($path,'a+');
fwrite($fp,$xx."\n");
fclose($fp);
}
?>
      该代码在IE下能够正常的截取输入框的信息并记录到文件中.但是在火狐浏览器下却出现问题..能提交信息却不能记录截取的信息到文件中...去掉Form的提交代码document.getElementById('form1').submit();   测试可以写文件无误..但是加上那句提交的代码却记录不到任何信息...似乎被跳过执行了一样...     弄了很久没搞明白怎么回事....希望大家可以帮忙看看...感激不尽....

解决方案 »

  1.   

    window.location.href本来就是让页面跳转.你后面的submit根本就不会被执行.也许FF处理方式不同.
    试试赋值给form的action 或者你就直接post提交
      

  2.   


    但是在火狐下他却是执行了在后面的submit..反倒是前面的href记录文件毫无效果...这不是挺奇怪的吗..
      

  3.   


    额..还有一点就是...无法修改Form的action地址的...因为系统提交上去的是一个field.使用了高度封装的路由处理.弄起来很麻烦...所以现在采取的是截取输入表单的形式...