javascript - 当有两个按钮时,如果用户在单击按钮 1-Javascript 或 html 之前尝试单击按钮 2,如何显示错误消息
问题描述
我已经使用 php 创建了用户配置文件信息更新。为了更新他的图像,我所做的就是先让他删除图像并要求他上传新图像。如果用户不小心单击了图像更新按钮而没有单击图像删除按钮,如何将错误消息显示为“请先删除您的图像,然后上传新图像”。我找不到任何方法。非常感谢您的帮助 给出以下是我的代码
<div class="form-group">
<center><label>Update A New Profile Picture </label></br></center>
<form method="post" action="update_userinfo.php" enctype="multipart/form-data">
<center><img id="uploadPreview4" style="width: 100px; height: 100px;" /></center>
<center><input type="file" name="Filename4" id="uploadImage4" onchange="PreviewImage4();" class="form-group"><input TYPE="submit" name="updateImage" value="Update Image" class="btn btn-success" /></center>
</form>
</div>
<div class="col-md-6">
<center><label>Your Current Profile Picture </label></br>
<form method="post" action="update_userinfo.php" enctype="multipart/form-data" onSubmit="if(!confirm('Do You really want to update your profile picture?')){return false;}">
<?php
echo "<img border=\"0\" src=\"".$row['image_path4']."\" width=\"100\" height=\"100\" >";
echo "<br>"; ?>
<input TYPE="submit" name="delete" value="delete" class="btn btn-success" />
</form>
</div>
解决方案
如果您真的想使用 PHP 来处理这个问题,我能想到的就是这个,
考虑到这是您当前的代码
<div class="form-group">
<center><label>Update A New Profile Picture </label></br></center>
<form method="post" action="update_userinfo.php" enctype="multipart/form-data">
<center><img id="uploadPreview4" style="width: 100px; height: 100px;" /></center>
<center><input type="file" name="Filename4" id="uploadImage4" onchange="PreviewImage4();" class="form-group"><input TYPE="submit" name="updateImage" value="Update Image" class="btn btn-success" /></center>
</form>
////
new code
<?php if(isset($photoDeleted) && $photoDelete=== false) :>
<center>Hey! Delete your photo first!</center>
<?php endif; ?>
////
</div>
<div class="col-md-6">
<center><label>Your Current Profile Picture </label></br>
<form method="post" action="update_userinfo.php" enctype="multipart/form-data" onSubmit="if(!confirm('Do You really want to update your profile picture?')){return false;}">
<?php
echo "<img border=\"0\" src=\"".$row['image_path4']."\" width=\"100\" height=\"100\" >";
echo "<br>"; ?>
<input TYPE="submit" name="delete" value="delete" class="btn btn-success" />
</form>
</div>
从您的 PHP 端,检查数据库中是否仍有照片,重新加载此上传页面并传递photoDelete
变量,因为false
当它加载页面时,php 会将其呈现为错误。
但!等待!为什么不直接用 php 中新更新的照片替换/删除之前的照片?假设每个用户只有一条个人资料照片记录,只需用新更新的照片更新您的数据库记录并删除以前的记录!?
总体而言,这是一个更好的用户体验
推荐阅读
- php - 在数组php中拆分段落
- xamarin.ios - 如何为 xamarin.ios 创建 nuget 包
- html - 很难修复具有动态内容的 div 的高度
- java - 尝试将表单连接到控制器时出现 Spring MVC Thymeleaf 错误
- powershell - 什么是 List`1 对象?
- javascript - 无法在 PHP 中读取/传递 JS 值到服务器
- reactjs - react-snap 有时只抓取一个页面
- swift4 - Xcode 10 麻烦:如何将应用程序的构建放入存档面板中,然后将其加载到 App Store Connect 站点上?
- python - 类成员也在 python 中创建实例成员
- arrays - 为数组中的数组排序算法时间复杂度?