Что-то не так с вашим кодом JavaScript (часть jQuery) .. Похоже, здесь есть ошибочная закрывающая фигурная скобка }
:
$j('#photoimg').live('change', function() {
$j("#preview").html('');
$j("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
$j("#imageform").ajaxForm({
target: '#preview'
} // <-- right here
}).submit();
});
Похоже, что должно быть:
$j("#imageform").ajaxForm({
target: '#preview'
}).submit();
В любом случае, то, что вы делаете, пытаясь динамически закрыть этот div
и ввести новый, может быть более сложным, чем его стоит.Я никогда не пытался сделать это, но я чувствую, что это не будет кросс-браузерной совместимостью, даже , если у вас работает, скажем, в Firefox, например.
Вместо использования $preview
в качестве цели, почему бы не обернуть его в другой контейнер div
и использовать это:
<div id="container">
<div id="preview"></div>
</div>
Тогда ваш jQuery будет выглядеть так:
$j('#photoimg').live('change', function() {
$j("#container").html('')
.html('<img src="loader.gif" alt="Uploading...."/>');
$j("#imageform").ajaxForm({
target: '#container'
}).submit();
});
В этом случае полученный PHP будет иметь вид:
echo '<div id="preview">',
"<img src=\"uploads/{$actual_image_name}\" class=\"preview\"><br />",
'</div><div id="preview3">',
'Line 1 <input type="text" id="cardtext1" name="cardtext1" value="1"/>';