获取Javascript中的AJAX确认消息,而不是输出
我在Wordpress中设置了Gravity表单插件,我在表单上使用AJAX功能。我已将其配置为在提交时返回确认消息,但我希望在Javascript中获取确认消息中包含的值,而不是将其自动输出到表单中 我不知道如何在确认消息输出之前获取它,或者如何防止它被输出 看起来“gform_post_render”javascript钩子是在消息输出之前调用的,但我不确定确认消息值的目标位置或阻止其输出 是否有方法覆盖确认消息输出?或者有没有更好的方法来设置重力表单,通过AJAX返回动态值,这样我就可以确定下一步要做什么获取Javascript中的AJAX确认消息,而不是输出,javascript,ajax,wordpress,gravity-forms-plugin,Javascript,Ajax,Wordpress,Gravity Forms Plugin,我在Wordpress中设置了Gravity表单插件,我在表单上使用AJAX功能。我已将其配置为在提交时返回确认消息,但我希望在Javascript中获取确认消息中包含的值,而不是将其自动输出到表单中 我不知道如何在确认消息输出之前获取它,或者如何防止它被输出 看起来“gform_post_render”javascript钩子是在消息输出之前调用的,但我不确定确认消息值的目标位置或阻止其输出 是否有方法覆盖确认消息输出?或者有没有更好的方法来设置重力表单,通过AJAX返回动态值,这样我就可以确
谢谢 我最终得到了Gravity表单支持团队的帮助,他们建议我研究Gravity表单Web API,特别是/Forms/{ID}/submissions端点,而不是使用附带的AJAX功能: 我的解决方案最终看起来像这样:
$('form')。提交(函数(e){
e、 预防默认值();
//获取提交URL的表单ID//
var formID=$(this.attr('id');
formID=formID.replace('gform_','');
var formURL='/gravityformsapi/forms/'+formID+'/submissions';
//获取表单输入数据并格式化端点的JSON//
var formArray=$(this.serializeArray();
var formData=[];
$。每个(格式、功能(索引、数据){
变量名称=数据['name'];
var值=数据[‘值’];
formData[名称]=值;
});
formData=$.extend({},formData);
var data={input_值:formData};
//AJAX提交表单//
$.ajax({
url:formURL,
方法:“POST”,
数据:JSON.stringify(数据)
}).done(函数(数据、文本状态、xhr){
//这是作为确认消息的一部分输出的HTML//
控制台日志(数据、响应、确认消息);
});
});
这允许您通过AJAX提交表单,但是您可以在data.response.confirmation\u message变量中选择如何处理响应。我最终得到了Gravity表单支持团队的帮助,他们建议我查看Gravity表单Web API,而不是使用附带的AJAX功能,特别是/forms/{ID}/submissions端点: 我的解决方案最终看起来像这样:
$('form')。提交(函数(e){
e、 预防默认值();
//获取提交URL的表单ID//
var formID=$(this.attr('id');
formID=formID.replace('gform_','');
var formURL='/gravityformsapi/forms/'+formID+'/submissions';
//获取表单输入数据并格式化端点的JSON//
var formArray=$(this.serializeArray();
var formData=[];
$。每个(格式、功能(索引、数据){
变量名称=数据['name'];
var值=数据[‘值’];
formData[名称]=值;
});
formData=$.extend({},formData);
var data={input_值:formData};
//AJAX提交表单//
$.ajax({
url:formURL,
方法:“POST”,
数据:JSON.stringify(数据)
}).done(函数(数据、文本状态、xhr){
//这是作为确认消息的一部分输出的HTML//
控制台日志(数据、响应、确认消息);
});
});
这允许您通过AJAX提交表单,但是您可以在data.response.confirmation\u message变量中选择如何处理响应。这在较新的gravityforms插件中似乎不起作用。我只需要知道表单是否通过javascript成功提交。我在引导模式中使用Gravity表单,但在提交时确实需要将表单字段的所有值都拉入页面中,并且没有错误。done函数在此处产生错误。发布位置:gravityformsapi/forms/8/submissions 0(),这在较新的gravityforms插件中似乎不起作用。我只需要知道表单是否通过javascript成功提交。我在引导模式中使用Gravity表单,但在提交时确实需要将表单字段的所有值都拉入页面中,并且没有错误。done函数在此处产生错误。发布位置:gravityformsapi/forms/8/0()