У меня есть простая форма, которая загружает изображение на сервер и возвращает строку php, содержащую адрес изображения (и/или adental html code). Это делается с помощью плагина JqueryForm. Что мне нужно: значение (строка), возвращаемое файлом PHP, должно быть возвращено в jquery, поэтому я могу использовать этот URL-адрес изображения, чтобы установить его как bckground для какого-либо элемента:Возвращая php-строку в jquery
Вот файл php (для изображения uplaoding) :
$ path = "uploads /";
$valid_formats = array("jpg", "png", "bmp");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if(strlen($name))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024))
{
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
echo $actual_image_name; //This is returned, i want thist to be somehow "converted" to jquery
}
else
echo "Sending failed!";
}
else
echo "May filesize 1 Mb!";
}
else
echo "Unknown ffile format!";
}
else
echo "Select image for sending";
exit;
}
И вот код JQuery для отправки изображения:
$('#photoimg').live('change', function() {
$("#main").html('');
$("#main").html('<img src="/uploader/loader.gif" class="vk_upload_bar" alt="Uploading...."/>');
$("#imageform").ajaxForm({
target: '#main'
}).submit();
});
Как-то, вместо того, чтобы:
target: '#main'
, что ставит некоторые HTML внутри #main, мне нужно, чтобы сделать это :
$('#main').css('background-image', 'url(' + imageUrl + ')');
где изображение будет присвоено ti #main by css. (imageUrl - это строка из файла php выше: $ actual_image_name)
Возможно ли это, или, по крайней мере, существует какое-то подобное решение?
Wow, tnx man, отлично работает, но еще одна вещь, теперь изображение «loader.gif» остается там навсегда, оно не скрывается после завершения загрузки. Вот что говорит консоль ошибок Opera: «[28.5.2012 17:52:55] JavaScript - [28.5.2012 17:52:55] JavaScript - http://domain.com/products-page/product-category/ test/ console.log [jquery.form] state = complete [28.5.2012 17:52:56] JavaScript - http://domain.com/products-page/product-category/test/ console.log [jquery.form] isXml = false ' – SomeoneS
мой друг, для удаления загрузчика.GIF вы просто удалить его, прежде чем изменить CSS-код успеха: функция (данные) { \t \t ** $ ('# главный') HTML (''); ** $ ('# главный') CSS.. ('background-image', 'url (' + data + ')'); } – zhilevan
Tnx снова, я уже удалил его, добавил $ ('. Upload_bar'). FadeOut ('medium'); :) – SomeoneS