我有这段代码。使用JavaScript提交表单,在FF中工作,但在IE中不工作
下面的代码工作在Firefox,但它不是在IE
<?php // file: login_dfr.php ?>
<body>
<?php
$data = getLoginData($_SESSION['whoyouare']);
?>
<form name="frm_redirect_dfr" action="<?php echo $data['url']; ?>" method="POST" id="frm_redirect_dfr" style="display: none;">
<input name="DFRNet_User" value="<?php echo $data['username']; ?>" type="hidden" />
<input name="DFRNet_Pass" value="<?php echo $data['password']; ?>" type="hidden" />
<input name="tbllogin" value="login" type="hidden" />
<input type="submit" value="submit" />
</form>
<script language="javascript" type="text/javascript">
document.forms["frm_redirect_dfr"].submit();
</script>
</body>
我想要做的是,当用户访问该页面时,它首先会尝试获取登录数据,回声它表格,并提交表单自动使用JavaScript
更新: 我忘了提,上面的代码是一个框架,大型机代码象下面这样:
<?php session_start(); ?>
<?php // file: login_frame.php ?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Wavinet</title>
</head>
<frameset rows="1,*" frameborder="no" border="0" framespacing="0">
<frame src="topFrame.php" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />
<frame src="login_dfr.php" name="mainFrame" id="mainFrame" title="mainFrame" />
</frameset>
<noframes>
<body>This page contain frame</body>
</noframes>
</html>
感谢您的答案staticscan,但是当我尝试你的代码,它不起作用,动作URL仍然显示“你必须登录”页面。我将数字更改为5000. 我也尝试使用jquery,但它也不起作用 我的想法出现了一个新问题,即发送到操作URL的发布数据。我已经使用LiveHTTPHeader在Firefox上检查它,发送发布数据。我不知道如何在IE上调试HTTP头,因为没有用于IE的LiveHTTPHeader – Permana 2010-04-22 04:38:21
好吧,所以你需要在服务器端代码中进行调试。首先,使用View Source来验证表单标签的动作参数是否转到了正确的URL。然后使用'print_r($ _ POST);退出;'确切地告诉你服务器正在发送什么。 – staticsan 2010-04-23 01:03:00
表单数据已提交。发送POST数据,我只是使用fiddler – Permana 2010-04-29 03:06:37