jQuery调用php脚本,该脚本回显div,但不回显

jQuery调用php脚本,该脚本回显div,但不回显,php,jquery,echo,Php,Jquery,Echo,我正在开发一个上传脚本,你可以上传图片,这是直接预览。选择文件后,它会将其传递给一个php脚本,该脚本会回显图片。第一段代码中的jQuery将其插入到我的预览中。在图片之后,我正在打印一些输入字段。在输入字段中,您可以输入想要在图片上显示的文本,如果单击“预览”,则会修改图片并将其显示在另一张图片所在的位置,但输入字段应保持不变。我的代码: <script type="text/javascript"><!--//--><![CDATA[//><!--

我正在开发一个上传脚本,你可以上传图片,这是直接预览。选择文件后,它会将其传递给一个php脚本,该脚本会回显图片。第一段代码中的jQuery将其插入到我的预览中。在图片之后,我正在打印一些输入字段。在输入字段中,您可以输入想要在图片上显示的文本,如果单击“预览”,则会修改图片并将其显示在另一张图片所在的位置,但输入字段应保持不变。我的代码:

<script type="text/javascript"><!--//--><![CDATA[//><!--

$j(document).ready(function() {      
$j('#photoimg').live('change', function() { 
    $j("#preview").html('');
    $j("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
    $j("#imageform").ajaxForm({
        target: '#preview'
        }

    }).submit();
});

}); 
 //--><!]]></script>

在我的身体里有这样一个:

<div id='preview'>
</div>

我重申这一点:

echo "<img src='uploads/".$actual_image_name."'  class='preview'><br  />";
echo "</div><div id='preview3'>";
echo "Line 1 <input type='text' id='cardtext1' name='cardtext1' value='1'/>";
echo“
”; 回声“; 回音“第1行”;
因此,我想关闭echo中的preview div并打开另一个div,这样我就可以更改第一个div中的html代码(带有图片),而无需更改输入字段。html代码应该如下所示:

 <div id='preview'>
 <img src='uploads/test.jpg'  class='preview'><br  />
 </div>  <====this one is missing
 <div id='preview3'>
 <input type='text' id='cardtext1' name='cardtext1' value='1'/>
 </div>



您的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();
});
无论如何,您试图动态关闭该
div
并注入一个新的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();
});
$j('#photoimg').live('change',function(){
$j(“#容器”).html(“”)
.html(“”);
$j(“#imageform”).ajaxForm({
目标:“#容器”
}).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"/>';
echo',
“
”, '', “第1行”;
您的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();
});
无论如何,您试图动态关闭该
div
并注入一个新的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();
});
$j('#photoimg').live('change',function(){
$j(“#容器”).html(“”)
.html(“”);
$j(“#imageform”).ajaxForm({
目标:“#容器”
}).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"/>';
echo',
“
”, '', “第1行”;
添加要尝试的文本,如:
echo“TEST1TEST2”添加要尝试的文本,如:
echo“TEST1TEST2”谢谢,这个正在工作,所以我必须回显div的开始和结束标记。谢谢,这个正在工作,所以我必须回显div的开始和结束标记。