【发布时间】:2017-10-01 17:21:35
【问题描述】:
我最近一直在开发一个具有表单的网络应用程序。但是,我遇到了障碍。在此表单中,有一个上传照片的iframe。提交后,照片会上传并让用户知道。此页面上的表单中还有一个隐藏的输入。在这个隐藏的输入中,存储了图像的 URL。这是我的脚本,应该拦截此输入的值并以以下形式传递:
window.onload = function() {
document.getElementById("photoFrame").contentDocument.forms[0].onsubmit = function () {
document.getElementById("entry_862192515").setAttribute("value", document.getElementById("photoFrame").contentDocument.forms[0].getElementById("photoUrl").value);
}
}
这是我的 HTML:
<iframe width="100%" name="select_frame" src="/photo-upload.php" allowtransparency="true" frameborder="0" id="photoFrame"></iframe>
photo-upload.php 只是一个简单的上传图片的表单。现在这里是upload.php,从 POST 请求上传图像的 PHP 脚本:
<?php
// Cloudinary init
require 'Cloudinary.php';
require 'Uploader.php';
require 'Api.php';
\Cloudinary::config(array(
"cloud_name" => "(my name)",
"api_key" => "(my key)",
"api_secret" => "(my secret)"
));
// Uploads images to Cloudinary
$uploaded_file = \Cloudinary\Uploader::upload($_FILES["fileToUpload"]["tmp_name"]);
// Declares URL to variable
$url = $uploaded_file['secure_url'];
echo '<form><input type="hidden" id="photoUrl" value="'.$url.'" /></form>';
echo '<b style="color:green;">Success! Photo uploaded. Once you finish filling out the form, click the "Send" button.</b>';
?>
这个脚本有什么问题?运行控制台时,我在控制台中看不到任何错误,在 iframe 中,输入包含 URL 值。我究竟做错了什么?非常感谢。
【问题讨论】:
-
不看你的html很难说是什么问题
-
完成!我现在已经发布了代码。
标签: javascript html forms iframe