Jes*_*rez 2 html javascript iframe
我正在尝试使用 POST 和参数将网页打开到 iframe 中。但是,当提交时,父页面会重新加载,并且 URL 不会在 iframe 中打开:
<head>
<title>iframe Example</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
iframe {
display: block; /* iframes are inline by default */
background: #000;
border: none; /* Reset default border */
height: 90vh; /* Viewport-relative units */
width: 90vw;
}
</style>
</head>
<body>
<form id="myForm" method="post" action= "http://127.0.0.1/myWeb" target="myIframe">
<input type = "hidden" name="param1" value="param1value">
<input type = "hidden" name="param2" value= "param1value">
</form>
<a href="" onClick="postLogin();" >Send to iframe</a><br />
<script laguaje="javascript">
function postLogin() {
var form = document.getElementById("myForm");
form.submit();
}
</script>
<iframe src="" name="myIframe" id="myIframe">
<p>iframes are not supported by your browser.</p>
</iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
谁刷新页面就是锚标签。您可以使用event.preventDefault()。
更改您的锚标记添加事件参数。
<a href="" onClick="postLogin(event);" >Send to iframe</a>
Run Code Online (Sandbox Code Playgroud)
并在Javascript函数中postLogin添加preventDefault()事件方法:
function postLogin(event) {
var form = document.getElementById("myForm");
form.submit();
event.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
编辑:
或者您可以使用<button>不带postLogin该功能的 来代替<a>.
<form id="myForm" method="post" action= "http://127.0.0.1/myWeb" target="myIframe">
<input type = "hidden" name="param1" value="param1value">
<input type = "hidden" name="param2" value= "param1value">
<button type="submit">Send to iframe</button>
</form>
Run Code Online (Sandbox Code Playgroud)