首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在PHP中ajax成功后,如何设置空图像文件?

在PHP中ajax成功后,如何设置空图像文件?
EN

Stack Overflow用户
提问于 2021-02-25 09:57:07
回答 1查看 291关注 0票数 0

我正在研究ajax和PHP。当我单击post按钮时,消息值将删除$("# message ").val("");ajax成功后(数据通过PHP和ajax插入数据库),但是文件(浏览)在成功后不会删除。在AJAX成功后,文件应该是空的,如果我离开图像,则不会运行ajax代码。我想留下一个图像和消息应该插入没有图像和与图像一起工作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
            $(document).on("click", "#save", function (e) {
           e.preventDefault();
                var form_data = new FormData();
form_data.append('message', message)

      var property = document.getElementById('photo').files;

属性=属性;如果(属性){//必须检查文件是否存在,否则它将无法从未定义的对象访问属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var image_name = property.name;
    var image_extension = image_name.split('.').pop().toLowerCase();
    form_data.append("file",property);
}
                //Ajax call to send data to the insert.php
                $.ajax({
                    type: "POST",
                    url: "insert_posts.php",
                    data: form_data,
                   contentType:false,
          cache:false,
          processData:false,
                    success: function (data) {
                        //Insert data before the message wrap div
                        $(data).insertBefore(".message-wrap:first");
                        //Clear the textarea message
                        $("#message").val("");
                    
                    $("#form")[0].reset(); 
                    $('#preview').attr('src', "#");
                    $("#photo").val("");


                    }
                });
            });

当我离开图像文件时,post按钮不能工作。但是,当我将文本保留为空白并从计算机中选择图像时,post按钮就可以工作了。我希望当我离开浏览文件时,post按钮应该是工作的。在ajax成功之后,文件浏览应该是空的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="c-header">
                        <div class="c-h-inner">
                            <ul>    
                                
                                <li><input type="file"  onchange="readURL(this);" style="display:none;" name="photo" id="photo"></li>
                                <li><img src="assets/icon/icon1.png"></img><a href="#" id="uploadTrigger" name="post_image">Add Photo</a></li>
                                
                            </ul>
                        </div>
                    </div>
                    <div class="c-body">
                        <div class="body-left">
                            <div class="img-box">
                                <img src="<?php echo 'assets/images/'.$image;?>"></img>
                                
                            </div>
                        </div>
                        <div class="body-right">
                            <textarea class="text-type" name="message"  id="message"
                     placeholder="What's on your mind?"></textarea>
                        </div>
                        <div id="body-bottom">
                        <img src="#"  id="preview"/>
                        </div>
                    </div>
                    <div class="c-footer">
                        <div class="right-box">
                            <ul>
                            
                                <li><input type="submit" name="save" id="save" value="Post" class="btn2"/></li>
                            </ul>
                            <br>
                        </div>

我使用js显示图像预览。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ew 
<script type="text/javascript">

                         //Image Preview Function
                                $("#uploadTrigger").click(function(){
                                   $("#photo").click();
                                });
                                function readURL(input) {
                                    if (input.files && input.files[0]) {
                                        var reader = new FileReader();

                                        reader.onload = function (e) {
                                            $('#body-bottom').show();
                                            $('#preview').attr('src', e.target.result);
                                        }

                                        reader.readAsDataURL(input.files[0]);
                                    }
                                }

                        </script>

在ajax成功后,图像预览应该是清晰的或删除的,当我离开图像去浏览时,post按钮应该是工作的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-25 10:09:29

文件输入应该重置,但是需要删除预览图像,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var form_data = new FormData();
form_data.append('message', message)

var property = document.getElementById('photo').files;
property = property[0];
if(property){//you have to check if the files exists or it will fail trying to access properties from an undefined object
    
    var image_name = property.name;
    var image_extension = image_name.split('.').pop().toLowerCase();
    form_data.append("file",property);
}


success: function (data) {
                    //Insert data before the message wrap div
                    $(data).insertBefore(".message-wrap:first");
                    //Clear the textarea message
                    $("#message").val("");
                    
                    $("#form")[0].reset(); 
                    $('#preview').attr('src', "#");//Reset the preview to the original state

                }

如果文件输入没有重置,请尝试在成功函数中添加$("#photo").val("");

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66373948

复制
相关文章
在 Java 中如何优雅地判空
  作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException。
芋道源码
2019/11/21
2.4K0
在Java中如何优雅地判空
作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢 NullPointerException。
JAVA葵花宝典
2019/11/15
1.5K0
OpenCV中如何读取URL图像文件
最近知识星球收到的提问,觉得是一个很有趣的问题,就通过搜集整理归纳了一番,主要思想是通过URL解析来生成数据,转为图像/Mat对象。但是在Python语言与C++语言中的做法稍有不同。
OpenCV学堂
2019/07/19
5.9K0
在 JS 中如何使用 Ajax 来进行请求
github 地址:https://github.com/qq44924588...
前端小智@大迁世界
2020/12/07
8.9K0
如何严格设置php中session过期时间
如何严格限制session在30分钟后过期! 1.设置客户端cookie的lifetime为30分钟; 2.设置session的最大存活周期也为30分钟; 3.为每个session值加入时间戳,然后在程序调用时进行判断;
全栈程序员站长
2022/07/08
2.2K0
在 PHP 中如何解码 JSONP
如果是 JSON 数据,使用 json_decode 这个 PHP 函数就能解码,但是有些数据接口只提供了 JSONP 数据如何解码呢?
Denis
2023/04/15
7080
在C中,如何知道动态分配是否成功
C语言使用 malloc函数动态在堆上分配内存。malloc根据字节数的参数。如果无法分配内存,该函数将返回指向已分配内存的指针或 NULL 指针。
mariolu
2021/11/06
2.7K0
php httponly_php如何设置httponly
php设置httponly的方法:首先找到并打开“php.ini”文件;然后设置“session.cookie_httponly”项的值为1或者TRUE;接着通过“setrawcookie”方法开启即可。
全栈程序员站长
2022/07/04
2.2K0
php httponly_php如何设置httponly
在PHP中如何为匿名函数指定this?
关于闭包匿名函数,在JS中有个很典型的问题就是要给它绑定一个 this 作用域。其实这个问题在PHP中也是存在的,比如下面这段代码:
硬核项目经理
2020/05/13
2.2K0
js ajax 设置代理ip(vue Ajax 设置 代理ip)
代理就是通过一个特殊的网络服务去访问另一网络服务的一种间接访问方式。像我们不能直接访问国外的网站,只能使用V**,就是使用了代理。
超级小可爱
2023/03/18
6.6K0
php与Ajax(一)———Ajax简介
AJAX 是 Asynchronous JavaScript And XML 的首字母缩写。
致Great
2023/08/26
1380
使用PHP获取图像文件的EXIF信息
在我们拍的照片以及各类图像文件中,其实还保存着一些信息是无法直观看到的,比如手机拍照时会有的位置信息,图片的类型、大小等,这些信息就称为 EXIF 信息。一般 JPG 、 TIFF 这类的图片文件都会有这样的信息。EXIF 其实就是专门为这种数码照片所定制的,专门用于记录数码照片的属性信息和拍摄数据的,最初由日本制定。这个其实很好理解,日本对相机行业基本是垄断般的存在,所以这类的标准当然就是由他们制定啦!
硬核项目经理
2021/08/06
1.6K0
在iis中如何设置站点的编码格式?
二、步骤        打开iis,选择一个站点,在右侧的asp.net区域里,找到‘.NET全球化’项。
习惯说一说
2019/08/08
7.1K0
在iis中如何设置站点的编码格式?
WordPress 教程:在 WordPress 中如何设置定时作业
我们知道 Linux 服务器有个 Cron 的功能,可以用来设置定时执行的作业,但是并不是每个人都熟悉 Linux 系统,并且也不是所有的主机管理面板都有 Cron 栏目。
Denis
2023/04/13
2.4K0
WordPress 教程:在 WordPress 中如何设置定时作业
AJAX设置请求参数
AJAX(Asynchronous JavaScript and XML)是一种用于在 Web 应用程序中进行异步数据交换的技术。在 AJAX 请求中,我们可以通过设置请求参数来传递额外的信息给服务器。这些参数可以是查询字符串、请求头或请求体中的数据。
堕落飞鸟
2023/05/18
1.7K0
python在mysql中插入null空值
python在mysql中插入null空值 sql = “INSERT INTO MROdata (MmeUeS1apId) VALUES (%s)”%‘NULL’ %s没有引号,可以将“null”中null写进数据库,达到NULL值效果。
kirin
2020/12/03
8.2K0
JavaScript中如何取消ajax请求
jQuery为我们封装了ajax请求接口,在jQuery中,取消ajax请求也是通过调用.abort()方法,只不过操作的对象不再是原生XHR对象
刘亦枫
2020/03/19
3.2K0
php与Ajax实例
Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。
Java架构师必看
2021/03/22
2.9K0
ajax php投票记录功能,PHP 实例 AJAX 投票 | 菜鸟教程[通俗易懂]
在下面的实例中,我们将演示一个投票程序,通过它,投票结果在网页不进行刷新的情况下被显示。
全栈程序员站长
2022/07/28
7.3K0
WAMP中的MySQL设置密码(默认密码为空)
打开【wamp】存放【MySQL】的位置,并输入【mysqld】回车,打开数据库。
红目香薰
2022/11/29
11.2K0
WAMP中的MySQL设置密码(默认密码为空)

相似问题

如何在PHP中重置ajax成功后的图像文件预览?

118

jquery在ajax成功后提交空表单

20

成功后如何在ajax中调用php函数

10

在ajax中成功使用php语句后如何重定向?

22

PHP Ajax登录,Ajax在成功登录后无法工作

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文