我创建了一个以iframe为目标的表单来提交图片。我以前绝对有这个工作,但现在整个页面提交,而不仅仅是iframe。我完全失去了。
HTML:
<form id="upload-form" name="upload-form" class="" action="/handle/upload" method="post" enctype="multipart/form-data">
<div class="fileinput-wrap">
<label for="fileinput">Image input</label>
<input type="file" name="file" id="fileinput" />
</div>
<input type="submit" id="submitter" name="submitter" />
</form>
JS:
$("#fileinput").on('change', function () {
var $iframe = $("<iframe />").attr({
id: 'frame_uploader',
name: 'frame_uploader'
});
var $img = $("<img />");
var imageUrl = "";
$("#upload-form").prepend($img).append($iframe)
.attr('target', 'frame_uploader')
.trigger('submit');
$iframe.load(function () {
var imageUrl = $iframe.contents().find("body").text();
$img.attr('src', imageUrl);
});
});
答案 0 :(得分:1)
我在某处读到某些iframe名称是保留的。更改iframe的名称已修复此问题。
答案 1 :(得分:1)
也许你应该在创建时添加frame id和name属性。就像这样:
var $iframe = $("<iframe id=\"frame_uploader\" name=\"frame_uploader\" />");