Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 制作所需的显示图片_Javascript_Php_Jquery_Image_Validation - Fatal编程技术网

Javascript 制作所需的显示图片

Javascript 制作所需的显示图片,javascript,php,jquery,image,validation,Javascript,Php,Jquery,Image,Validation,我有一个动态生成的表单,在加载表单时将数据库中项目的显示图片加载到标记中,该标记用作当前显示图像的图像预览 编辑:当用户选择一个项目时生成表单:类别->子类别->项目->生成包含项目详细信息和显示图片的表单。在这种情况下,我试图做的是防止用户编辑数据(意外或故意删除显示图片,而不将其替换为其他图片),导致项目没有显示pic的情况 我想将显示图片作为必需元素(每个项目必须有一个显示图片),如果用户删除当前显示图片而不替换为另一个,则无法提交表单 为了做到这一点,我尝试使用jQUery valida

我有一个动态生成的表单,在加载表单时将数据库中项目的显示图片加载到标记中,该标记用作当前显示图像的图像预览

编辑:当用户选择一个项目时生成表单:类别->子类别->项目->生成包含项目详细信息和显示图片的表单。在这种情况下,我试图做的是防止用户编辑数据(意外或故意删除显示图片,而不将其替换为其他图片),导致项目没有显示pic的情况

我想将显示图片作为必需元素(每个项目必须有一个显示图片),如果用户删除当前显示图片而不替换为另一个,则无法提交表单

为了做到这一点,我尝试使用jQUery validate,并在file input元素上使用所需的规则。但是,这样做需要用户在每次生成表单时上传一个新图像,即使他保持当前显示图片不变

PHP表单代码:

//Fetches the item DP
$fetchdp=$cxn->prepare("SELECT `ItemDP` FROM `Items` WHERE `BusinessID`=:bizid AND `ItemID`=:itemid");
$fetchdp->bindValue(":bizid",$bizid);
$fetchdp->bindValue(":itemid",$itemid);
$fetchdp->execute();
while($getdp=$fetchdp->fetch(PDO::FETCH_ASSOC))
{
    $dp=$getdp["ItemDP"];
}

//Input and preview for Display Pic
echo"<div class='BizEditItemDetails' >";
    echo"<label for='BizEditItemFileDP'>Upload Image[DP] &nbsp &nbsp&nbsp&nbsp(Max Size:2MB)</label>";
    echo"<input type='file' class='BizEditItemInput' id='BizEditItemFileDP' name='BizEditItemFileDP' />";
    echo"<input type='button' id=ImageCancelDP name=ImageCancelDP class='ImageCancelButton' value='Cancel'>";
    echo"<span></span>";
    echo"<br>";
    echo"<img id=ImagePreviewDP name=ImagePreviewDP class='ImagePreview' src=".$dp." > ";
    echo"<input type='hidden' id=DisplayDeleteItemID name=DisplayDeleteItemID value=$itemid>";
    echo"<input type='hidden' id=DisplayDeleteItemPicID name=DisplayDeleteItemPicID value=$itempicid>";
    echo"<input type='hidden' id=DisplayDeleteFilePath name=DisplayDeleteFilePath value=".$dp." >";
    echo"<input type='button' id=DisplayDelete name=DisplayDelete class='ImageDeleteButton' value='Delete Picture'>";
    echo"<br>";
echo"</div>";

因此,我如何在不使用所需规则的情况下使显示图片成为“必需的”?我已经在这个问题上纠缠了很久,似乎什么都做不到。

为什么要使用Javascript来确定用户是否添加了图片?当用户没有JS时会发生什么?
我会在php中检查这一点,但我不知道您使用的是什么框架。

我不想确定他是否添加了图片?我试图让他在不替换图片的情况下无法删除图片。我对这个问题进行了编辑,以使它更清楚一些。如果我误解了你想说的话,我道歉。就是这样。有一个图片框,其中有一张默认图片。如果用户删除图片并希望保存profil,则会出现一个错误,说明您不能没有profil图片,对吗?不过:我还是会在服务器端这样做。如果这仍然不是你想要的,那么我很抱歉,但我没有正确理解你。是的,这正是我的意思。我只是在寻找一种方法来实现这个配置文件pic检查,它不必是客户端的。您将如何在服务器端执行此操作?当您将数据发布(或获取,无论您使用什么)到saving.php(或同一个php,不知道您的结构)时,您可以检查$\u POST['img']的变量是否为空。但我不知道如何把它放在那里。我甚至不知道你在用什么样的框架。那么应该很简单。正如我所说,检查您的$u POST或$u GET数据。如果其中有您不喜欢的内容(例如,一个空图片变量),您可以在返回此站点时告诉用户(或者如果您想将saving.php外包,您可以
header
返回以前的站点)
  //more code above
  BizEditItemFileDP:{
    required:true
},