我目前在表单上遇到“onsubmit”调用问题。
目标是在叠加层中使用iframe来更新该叠加层后面的另一个iframe。
每当我尝试使用按钮(“onclick”)和此代码更新“background”iframe时:
parent.document.getElementById('frame_login').src=parent.document.getElementById('frame_login').src;
每次都有效。
但如果我尝试在“onsubmit”表单上执行此操作:
它第一次不起作用(“背景”iframe没有更新),但它确实第二次工作,但是,刷新会在第一次给出它应该得到的结果。这是一个例子:
我知道“onsubmit”代码并没有像“onclick”那样完全执行,但到目前为止我无法找到解决方案,有没有办法解决这个问题呢?也许是一种不同的方法?
以下是“背景”iframe的代码:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td></td>
<td><iframe src="user.php" width="100%" height="70px" frameborder="0" id="frame_login" name="frame_login"></iframe>
</td>
</tr>
</table>
以下是叠加iframe的代码:
<?
include('config.php')
?>
<script>
function myFunction() {
parent.document.getElementById('frame_login').src=parent.document.getElementById('frame_login').src;
}
</script>
<!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>Untitled Document</title>
</head>
<body>
<?
if($user->data['is_registered'])
{
//User is already logged in to phpBB
?>
<form method="post" action="phpBB_logout.php" onSubmit="return myFunction()"/>
<table width="75%" border="0" align="center" cellpadding="0" cellspacing="0" style="height:25px;"/>
<tr>
<td align="center">Welcome</td>
<td align="center"><? echo $user->data['username'] ?></td>
<td align="center"><input type="submit" value="Logout"/></td>
</tr>
</table>
</form>
<?
}
else
{
?>
<form method="post" action="phpBB_login.php" onSubmit="return myFunction()"/>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="height:25px;">
<tr>
<td align="center">Username:
<input type="text" size="20" name="username" /></td>
<td align="center">Password:
<input type="password" size="20" name="password" /></td>
<td align="center"><input type="submit" value="Submit"/></td>
</tr>
</table>
</form>
<?
}
?>
<input type="button" size="30" name="button" onClick="myFunction()" value="Button"/>
</body>
</html>
请注意,表单上的“onclick”与“onsubmit”的行为相同(我尝试在表单上的提交输入中设置“onclick”:<input type="submit" value="Submit" onClick="myFunction()"/>
。
感谢您的时间和帮助,非常感谢。