我有一个动态生成的表单,可以在加载表单时将数据库中项目的显示图片加载到标记中,标记用作当前显示图像的图像预览。
编辑:当用户选择项目时生成表单:类别 - >子类别 - >项目 - >生成包含项目详细信息和显示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]      (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
},
如何在不使用所需规则的情况下使显示图片“必需”?我已经坚持了很长时间并且似乎无法使任何工作。
答案 0 :(得分:0)
为什么要使用Javascript来确定用户是否添加了图片?什么时候用户没有JS? 我会在PHP中检查这个,但我不知道你正在使用什么框架。