Я все еще новичок в jQuery, поэтому я не могу все выяснить самостоятельно. У меня есть простой form
для загрузки изображений, плагин jQuery для progress bar
, который я разработал с точки зрения дизайна материалов, и iFrame
с загруженными файлами. Дело в том, что я не могу нацелить эту форму на iframe, она как-то останавливается, я предполагаю конфликт в коде.Как настроить форму в iframe с помощью Ajax?
Это HTML:
<form action="upload-sys.php" class="upload" enctype="multipart/form-data" method="post" target="galleryframe">
<input class="chooseimg" id="fileToUpload" name="fileToUpload" type="file" />
<input name="submit" type="submit" value="UPLOAD" />
</form>
<div class="progress">
<div class="bar">
</div>
</div>
<iframe name="galleryframe" onload="javascript:resizeIframe(this);" src="gallery-sys.php"></iframe>
JQuery:
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
(function() {
var bar = $('.bar');
$('form').ajaxForm({
beforeSend: function() {
var percentVal = '0%';
bar.width(percentVal)
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal)
}
});
})();
</script>
Я не понимаю, почему он не отправляет данные в IFRAME. Затем я могу перезагрузить только источник iframe с помощью php и сразу показать новые изображения.
Я узнал, что я не могу перенаправить всю страницу (но, очевидно, что это не то, что мне нужно) с добавлением этого:
complete: function() {
window.location.href = "url-of-target-page";
}
Я также попытался:
complete: function(responseText, statusText) {
target.html(responseText);
var target = 'galleryframe';
}
, но не повезло.
Может ли кто-нибудь навестить меня на этом?
Не могли бы вы объяснить, почему '
@freewheeler - потому что вы отмените отправку формы и вместо этого сделаете запрос HTTP с помощью Ajax. – Quentin
благодарим вас за время, это помогло – freewheeler