需要制作显示图片

时间:2014-01-05 18:35:06

标签: javascript php jquery image validation

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

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

我想让显示图片成为必需的元素(每个项目必须有一个显示图片),如果他删除了当前的显示图片而没有用另一个替换它,用户就无法提交表格之一。

为此,我尝试使用jquery validate,以及文件输入元素上的必需规则。但是,这样做需要用户每次生成表单时上传新图像,即使他离开当前显示pic没有动过。

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>";

jQuery代码:

  //more code above
  BizEditItemFileDP:{
    required:true
},

如何在不使用所需规则的情况下使显示图片“必需”?我已经坚持了很长时间并且似乎无法使任何工作。

1 个答案:

答案 0 :(得分:0)

为什么要使用Javascript来确定用户是否添加了图片?什么时候用户没有JS? 我会在PHP中检查这个,但我不知道你正在使用什么框架。