onclick返回php文件后自动发送html表单
Posted
技术标签:
【中文标题】onclick返回php文件后自动发送html表单【英文标题】:Auto send html form after onclick return of php file 【发布时间】:2020-07-17 07:58:53 【问题描述】:我正在尝试编写一个网站,其中一个表单(应该是自动提交的)是 iframe 中显示的 onclick 事件的结果。但听我说完。核心文档的html是这样的:
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Welcome!</title>
<link rel="stylesheet" href="bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="main.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<iframe name="firstframe" id="firstframe">
<p>Your browser does not support iframes.</p>
</iframe><br>
</body>
</html>
我在 iframe 中加载了一个带有 JavaScript onclick 事件的 php 文件,该事件不过是一个空表单:
<form name="retrievedetails" id="retrievedetails" action="personalprocessor.php" method="get" >
</form onload="formAutoSubmit ()">
我想在该文件加载到 iframe 后立即发送此表单,并从数据库中获取(在我的情况下为配置文件)信息作为返回,因此 </form onload="formAutoSubmit ()">
formAutoSubmit() 函数我试图给出所有可能的变化,但没有任何工作。它们看起来都像这样:
function formAutoSubmit ()
document.forms["retrievedetails"].submit();
如果我给 get-form 一个提交按钮并自己按下它,一切都会按预期工作,但这不是我想要的。 我觉得这与 iframe 无法加载 JS 脚本有关,因为它没有头,只有核心文档有 html-tag、head、body 等。但即使给 php-file包含头部、身体等的get-form 不能解决它。
我确信解决方案是显而易见的,但我只是看不到它。能给我指点吗?
P.S.:如果现在还不明显,我不是一个博学的程序员,我在空闲时间写这个网站是为了“好玩”。如果你觉得整个方法很奇怪,现在你知道为什么了。我也很高兴听到替代解决方案,但需要解决上述问题。
【问题讨论】:
是不是整个框架都丢失了,或者你只是没有发布它?一个 iFrame 也是一个带有 html/head/body 结构的新页面。 不,你是对的,它没有框架。但我试过有无。没有区别。 【参考方案1】:问题是,不能在 <form>
元素上调用 onload。它在<body>
上运行良好,就像互联网上已经说明的许多文档一样。感谢 Chriss 的评论让我到达了那里。
有时解决方案就在您的眼前,而您只是看不到它。
【讨论】:
以上是关于onclick返回php文件后自动发送html表单的主要内容,如果未能解决你的问题,请参考以下文章
关于AsyncHttpClient框架的post 提交表单上传文件怎么弄
带有双引号的 JAVASCRIPT var 到 PHP 并返回用于自动填充