我有一个动态生成的表单。表单内部是执行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"
//More code above
echo" ";
echo"";
//More code below
echo"
为什么不设置的$( “#ImagePreviewDP”)的值一个空字符串触发on.change?还有如何得到验证触发成功执行的功能,而不是它只会与其他错误一起触发?
+0
你必须订阅'#ItemDetailsContainer'的变化时它加载后触发。 –
+0
什么是ID为ItemDetailsContainer的元素?你没有在你的HTML中显示。从名字来看,这听起来像一个div,我不相信有一个本地的“变化”事件。 –