0
我有一個動態生成的表單。表單內部是執行AJAX請求的函數,成功時修改用於驗證的隱藏字段的值(將其設置爲空字符串)(隱藏字段設置爲「required:true」)爲什麼ajax請求不能觸發驗證
但是,在成功執行該函數後,隱藏字段不會觸發jQuery的驗證,我可以提交表單。只有當我有意識地觸發其他字段的驗證時纔會觸發隱藏字段的驗證,並且會出現隱藏字段的錯誤消息以及其他錯誤消息。
功能:
function DeleteImageDP(){
var itemid=$('#DisplayDeleteItemID').val();
var filepath=$('#DisplayDeleteFilePath').val();
var itempicid=$('#DisplayDeleteItemPicID').val();
var cfm=confirm("Confirm deletion of picture? (Note: Picture wil be deleted permanently.");
if(cfm == true)
{
$.ajax({
url:"delete/deletedp.php",
type:"POST",
data:"ItemID="+itemid+"&FilePath="+filepath+"&ItemPicID="+itempicid,
success:function(){
alert("Image successfully deleted.");
$('#ImagePreviewDP').prop('src','').hide();
$('#ImagePreviewDPValidate').val('');
$('#DisplayDelete').hide();
},
error:function(){
alert("Image could not be deleted due to an error.");
}
});
return true;
}
else
{
return false;
}
};
驗證:
$('#ItemDetailsContainer').on('change',function(){
//Validation code .....
ImagePreviewDP:{
required:true
},
//More validation code....
});
表(摘錄):
//Input and preview for Display Pic
echo"<div class='BizEditItemDetails' >";
//More code above
echo"<img id=ImagePreviewDP name=ImagePreviewDP class='ImagePreview' src=\"$dp\" > ";
echo"<input type='hidden' id='ImagePreviewDPValidate' name='ImagePreviewDPValidate' value=\"$dp\" >";
//More code below
echo"</div>";
爲什麼不設置的$( 「#ImagePreviewDP」)的值一個空字符串觸發on.change?還有如何得到驗證觸發成功執行的功能,而不是它只會與其他錯誤一起觸發?
你必須訂閱'#ItemDetailsContainer'的變化時它加載後觸發。 –
什麼是ID爲ItemDetailsContainer的元素?你沒有在你的HTML中顯示。從名字來看,這聽起來像一個div,我不相信有一個本地的「變化」事件。 – Travesty3