[jQuery] IE 7 ajaxSubmit problem
Hi all,
I am using j<a href="http://malsup.com/jquery/form/">Query Form plugin</a> to upload my files. The problem is tha in IE 7 it doesn't allow me to upload any image!!
This is my source
<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
<html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="<?php echo $mosConfig_live_site; ?>/administrator/templates/onnup_admin_final/css/main.css" media="screen,projection" type="text/css" />
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/administrator/components/com_highlights/js/jquery.js"></script>
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/administrator/components/com_highlights/js/jquery.form.js"></script>
<script type="text/javascript">
// prepare the form when the DOM is ready
$(document).ready(function() {
var options = {
target: '#results', // target element(s) to be updated with server response
//beforeSubmit: showRequest, // pre-submit callback
success: showResponse, // post-submit callback
// other available options:
//url: url // override for form's 'action' attribute
//type: type // 'get' or 'post', override for form's 'method' attribute
dataType: 'json' // 'xml', 'script', or 'json' (expected server response type)
//clearForm: true // clear all form fields after successful submit
//resetForm: true // reset the form after successful submit
// $.ajax options can be used here too, for example:
//timeout: 3000
};
// bind to the form's submit event
$('#fileform').submit(function() {
// inside event callbacks 'this' is the DOM element so we first
// wrap it in a jQuery object and then invoke ajaxSubmit
$(this).ajaxSubmit(options);
// !!! Important !!!
// always return false to prevent standard browser submit and page navigation
return false;
});
});
// pre-submit callback
function showRequest(formData, jqForm, options) {
// formData is an array; here we use $.param to convert it to a string to display it
// but the form plugin does this for you automatically when it submits the data
var queryString = $.param(formData);
// jqForm is a jQuery object encapsulating the form element. To access the
// DOM element for the form do this:
// var formElement = jqForm[0];
alert('About to submit: \n\n' + queryString);
// here we could return false to prevent the form from being submitted;
// returning anything other than false will allow the form submit to continue
return true;
}
// post-submit callback
function showResponse(data) {
// for normal html responses, the first argument to the success callback
// is the XMLHttpRequest object's responseText property
// if the ajaxSubmit method was passed an Options Object with the dataType
// property set to 'xml' then the first argument to the success callback
// is the XMLHttpRequest object's responseXML property
// if the ajaxSubmit method was passed an Options Object with the dataType
// property set to 'json' then the first argument to the success callback
// is the json data object returned by the server
$('#results').html(<a href="http://data.name">data.name</a>+" uploaded successfully!");
<?php if($_GET[type] == 'image') {
?>
$('#save').click(function() {
window.opener.$d('#slideimage').attr("src","<?php echo $mosConfig_live_site; ?>/images/stories/"+<a href="http://data.name">data.name</a>);
window.opener.$d('#thumb').attr("value","<?php echo $mosConfig_live_site; ?>/images/stories/"+<a href="http://data.name">data.name</a>);
window.close();
return false;
});
<?php } else if($_GET[type] == 'file') {
?>
$('#save').click(function() {
//window.opener.$d('#slidefile').attr("src","<?php echo $mosConfig_live_site; ?>/images/stories/"+responseText);
window.opener.$d('#uploadedfile').attr("value","<?php echo $mosConfig_live_site; ?>/images/stories/"+<a href="http://data.name">data.name</a>);
window.opener.$d('#path_type').attr("value",data.type);
window.close();
return false;
});
<?php } ?>
}
</script>
<style type="text/css">
#results {
float:left;
width:100%;
}
form {
float:left;
width:240px;
}
</style>
</head>
<body>
<h1><?php echo $titletext; ?></h1>
<div id="results"></div>
<form id="fileform" class="adminform" enctype="multipart/form-data" method="post" action="<?php echo $mosConfig_live_site; ?>/administrator/components/com_highlights/lib/file_upload.php" >
<label for="file"><?php echo $filetext; ?></label>
<input type="hidden" value="<?php echo $_GET[maxfilesize]; ?>" name="MAX_FILE_SIZE"/>
<input type="file" name="file" />
<input type="submit" name="upload" value="<?php echo $uploadtext; ?>" />
<input id="save" type="submit" name="save" value="<?php echo $savetext; ?>" />
</form>
</body>
</html></blockquote><div>
Any ideas?
</div>