我想通過信息將信息傳遞給iframe。 (可能是執行該帖子的jQuery或JavaScript,它並不重要)。如何通過Post in ASP.NET將信息傳遞給iframe?
無法通過查詢字符串發送信息,因爲我無權訪問iframe引入頁面的方式。
這些數據將決定iframe中內容的佈局,所以我怎樣才能讓它在發送帖子後更新iframe? (可能刷新?)
我想通過信息將信息傳遞給iframe。 (可能是執行該帖子的jQuery或JavaScript,它並不重要)。如何通過Post in ASP.NET將信息傳遞給iframe?
無法通過查詢字符串發送信息,因爲我無權訪問iframe引入頁面的方式。
這些數據將決定iframe中內容的佈局,所以我怎樣才能讓它在發送帖子後更新iframe? (可能刷新?)
我寫了一個blog post關於如何使用jQuery上傳文件使用隱藏的iframe。下面的代碼:
下面是該表單的HTML:
<div id="uploadform">
<form id="theuploadform">
<input type="hidden" id="max" name="MAX_FILE_SIZE" value="5000000" >
<input id="userfile" name="userfile" size="50" type="file">
<input id="formsubmit" type="submit" value="Send File" >
</form>
在其中,讓jQuery的創建,你可以用一點CSS隱藏的iframe的DIV:
<div id="iframe" style="width:0px height:0px visibility:none">
</div>
其中DIV顯示回調的結果:
<div id="textarea">
</div>
jQuery代碼:
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#formsubmit").click(function() {
var userFile = $('form#userfile').val();
var max = $('form#max').val();
var iframe = $('<iframe name="postframe" id="postframe" class="hidden" src="about:none" />');
$('div#iframe').append(iframe);
$('#theuploadform').attr("action", "uploader.php")
$('#theuploadform').attr("method", "post")
$('#theuploadform').attr("userfile", userFile)
$('#theuploadform').attr("MAX_FILE_SIZE", max)
$('#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);
}
);
return false;
});
});
</script>
我使用的PHP應用程序這樣uploader.php做一些與文件:
<?php
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
$maxfilesize = $_POST[MAX_FILE_SIZE];
if ($maxfilesize > 5000000) {
//Halt!
echo "Upload error: File may be to large.<br/>";
exit();
}else{
// Let it go
}
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print('File is valid, and was successfully uploaded. ');
} else {
echo "Upload error: File may be to large.<br/>";
}
chmod($uploadfile, 0744);
?>
還有更多有比你需要的,但它說明在jQuery的概念。
我沒有代碼方便,但我的團隊純粹在Javascript中完成此操作。我記得它是這樣的:
function postToPage() {
var iframe = document.getElementById('myIFrame');
if (iframe) {
var newForm = '<html><head></head><body><form...> <input type="hidden" name="..." value="..." /> </form><script type=\"text/javascript\">document.forms[0].submit();</scrip' + 't></body></html>';
iframe.document.write(newForm); //maybe wrong, find the iframe's document and write to it
}
}
哇。所有這些代碼如此簡單?您可以使用FORM的target屬性,將其與IFRAME的name屬性關聯起來,並自然提交! – 2009-06-24 19:38:40