Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
146
rated 0 times [  153] [ 7]  / answers: 1 / hits: 49171  / 13 Years ago, wed, october 26, 2011, 12:00:00

Im building a file upload with jQuery, but Im getting a jQuery error trying to set the attributes of the form:



$(document).ready(function () {
$(#formsubmit).click(function () {

var iframe = $('<iframe name=postframe id=postframe class=hidden src=about:none />');

$('div#iframe').append(iframe);

$('#theuploadform').attr(action, /ajax/user.asmx/Upload)
$('#theuploadform').attr(method, post)
$('#theuploadform').attr(userfile, $('#userfile').val())
$('#theuploadform').attr(enctype, multipart/form-data)
$('#theuploadform').attr(encoding, multipart/form-data)
$('#theuploadform').attr(target, postframe)
$('#theuploadform').submit();
//need to get contents of the iframe

$(#postframe).load(
function () {
iframeContents = $(iframe)[0].contentDocument.body.innerHTML;
$(div#textarea).html(iframeContents);
}
);
}
);


<div id=uploadform>
<form id=theuploadform action=>
<input id=userfile name=userfile size=50 type=file />
<input id=formsubmit type=submit value=Send File />
</form>
</div>

<div id=iframe style=width: 0px; height: 0px; display: none;>
</div>

<div id=textarea>
</div>

More From » jquery

 Answers
5

I found the solution. This code works:



<script type=text/javascript>

$(document).ready(function () {

$(#formsubmit).click(function () {

var iframe = $('<iframe name=postiframe id=postiframe style=display: none></iframe>');

$(body).append(iframe);

var form = $('#theuploadform');
form.attr(action, /upload.aspx);
form.attr(method, post);

form.attr(encoding, multipart/form-data);
form.attr(enctype, multipart/form-data);

form.attr(target, postiframe);
form.attr(file, $('#userfile').val());
form.submit();

$(#postiframe).load(function () {
iframeContents = this.contentWindow.document.body.innerHTML;
$(#textarea).html(iframeContents);
});

return false;

});

});

</script>


<form id=theuploadform>
<input id=userfile name=userfile size=50 type=file />
<input id=formsubmit type=submit value=Send File />
</form>

<div id=textarea>
</div>

[#89435] Monday, October 24, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
kourtney

Total Points: 368
Total Questions: 103
Total Answers: 85

Location: Bonaire
Member since Sat, May 1, 2021
3 Years ago
;