首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery调用回显div但不回显的php脚本

jQuery调用回显div但不回显的php脚本
EN

Stack Overflow用户
提问于 2011-12-14 16:57:34
回答 1查看 365关注 0票数 2

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

代码语言:javascript
运行
复制
<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>

我的身体里有这样的东西:

代码语言:javascript
运行
复制
<div id='preview'>
</div>

我呼应这一点:

代码语言:javascript
运行
复制
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中关闭预览div并打开另一个,这样我就可以更改第一个div (带有图片)中的html代码,而不需要对输入字段进行任何更改。html代码应如下所示:

代码语言:javascript
运行
复制
 <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>

问题是,如果我检查网站的html代码,它只显示新的开始,而不是回显closetag。我也试着把它放在一个php变量中,但也不起作用。为什么会这样呢?该如何修复呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-14 17:35:02

您的JavaScript代码( jQuery部件)似乎有问题。看起来这里有一个错误的右大括号}

代码语言:javascript
运行
复制
$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();
});

看起来应该是:

代码语言:javascript
运行
复制
$j("#imageform").ajaxForm({
    target: '#preview'
}).submit();

无论如何,您试图动态关闭该div并注入一个新的and所做的事情可能会比它的价值更棘手。我从来没有尝试过这样做,但我觉得这不会是跨浏览器兼容的,即使你让它工作在,比如说,火狐。

与其使用$preview作为目标,为什么不将其包装在另一个div容器中,并使用该容器:

代码语言:javascript
运行
复制
<div id="container">
    <div id="preview"></div>
</div>

然后,您的jQuery将如下所示:

代码语言:javascript
运行
复制
$j('#photoimg').live('change', function() { 
    $j("#container").html('')
        .html('<img src="loader.gif" alt="Uploading...."/>');
    $j("#imageform").ajaxForm({
        target: '#container'
    }).submit();
});

在这种情况下,生成的PHP结果将如下所示:

代码语言:javascript
运行
复制
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"/>';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8501722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档