我的脚本中有几个按钮,它们调用window.open('myUploadScript.php?arguments = test ...','')。
我在arguments()中传递querystring参数,以便处理目标文件myUploadScript.php。
我想调用此脚本而不在弹出窗口中打开它。我可以使用jQuery而不必从我的弹出窗口脚本开始吗?
换句话说,我的window.open包含:
<input
type="button"
id="myButton"
value="myValue"
onclick="window.open('myUploadScript.php?action=test',
'popup',
'width=330,
height=300,
scrollbars=no,
resizable=no,
toolbar=no,
directories=no,
location=no,
menubar=no,
status=no');
return false"
/>
我可以调用一个jQuery来将myUploadScript.php的内容加载到占位符div中,并将其传递给“test”参数吗?
答案 0 :(得分:1)
使用。load
$('#your_div').load( 'myFile.php?action=test' );
答案 1 :(得分:1)
执行$.ajax()
对该页面的调用:
//register click on input event
$('#myButton').click(function() {
//do ajax call to your script
$.ajax({
url: 'myFile.php',
data: { action: 'test' }, //adds a query string to the URL '?action=test'
success: function(data, textStatus, jqXHR) {
//data is the returned value from your .php script
$('#divId').html(data);
},
error: function(jqXHR, textStatus, errorThrown) {
//some error occurred you can handle it here
}
});
});
答案 2 :(得分:1)
您可以轻松地按照其他海报的说明进行操作。但是,如果它是一个实际的文件上传脚本,这对你没有帮助。
问题是文件上传不能通过AJAX工作(仅适用于部分浏览器,但一般不适用)。在纯html / javascript中实现ajax文件上传的唯一方法是使用iframe,如下所示:
<form id="vinsearchform" target="upload_target" action="/Home/VINUpload" method="post" enctype="multipart/form-data">
<input type="file" name="filename" />
<input type="submit" />
</form>
<iframe style="display:none" id="upload_target" name="upload_target"></iframe>
这样做是将上传内容发布到隐藏的iframe中。 iframe必须发出javascript,告诉页面它已完成,如下所示:
<script language="javascript" type="text/javascript">
window.top.window.uploadCompleted();
</script>