- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在 wp.xml 中实现前端登录表单。并使用 jquery validate 验证表单。使用提交处理程序提交表单。验证和 ajax 工作正常,但主要问题是 wp_localize_script
变量在提交处理程序中不起作用。
这是我的js代码:
var $form = $(this);
jQuery('form#login').validate({
rules:{
username: { required: true },
password: { required: true }
},
submitHandler: function(form) {
jQuery.ajax({
type: 'POST',
dataType: 'json',
url: ajax_login_object.ajaxurl,
data: {
// contains all required values for login
},
success: function(data){
document.location.href = ajax_login_object.redirecturl;
}
});
$form.submit();
}
});
这是我的 wp 代码:
function ajax_login_init(){
wp_enqueue_script('script' );
wp_enqueue_script('js-validate' );
wp_localize_script( 'ajax-script', 'ajax_login_object', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'redirecturl' => get_site_url().'/page'
));
}
这里我没有得到 ajax_login_object
值。建议我实现此错误的地方。
最佳答案
如果你设置了 $ == jQuery
然后坚持下去。另外,您的意思是将 $form
作为您的函数参数还是?
此外,您还在根据什么对脚本进行本地化? ajax-script
句柄在哪里。
试试
function ajax_login_init(){
wp_enqueue_script('script' );
wp_enqueue_script('js-validate' );
wp_localize_script( 'js-validate', 'ajax_login_object', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'redirecturl' => get_site_url().'/page'
));
}
并查看您的本地化脚本是否在 DOM 中(使用 Chrome 检查它并搜索 ajaxurl
和 redirecturl
)。 JS部分:
var $form = $(this);
$('form#login').validate({
rules:{
username: { required: true },
password: { required: true }
},
submitHandler: function(form) {
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_login_object.ajaxurl,
data: {
// contains all required values for login
},
success: function(data){
form.submit();
document.location.href = ajax_login_object.redirecturl;
}
});
}
});
关于php - jQuery 验证 submitHandler 不适用于 WP AJAX/wp_localize_script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36394738/
当使用 jQuery SubmitHandler 方法时,我通过 ajax 将表单数据发布到服务器。成功后,将调用另一个方法来调整弹出窗口的大小并通知用户其全部完成。 但是,我的问题是,在发布数据时,
我正在加载一个对话框,其中包含使用 Bootbox.js 即时构建的表单。我正在使用 jQuery 验证插件验证用户输入。 验证工作正常,但当表单填写成功时,submitHandler 会被忽略。 出
我将微调器放置在我的提交处理程序中,紧跟在我的验证消息之后...我只希望它在 ajaxSubmit 期间处于事件状态,因此将它放在 JSON 之前似乎很自然。但是 jQuery 提示 *“未捕获的语法
我正在使用 jQuery 插件对一个 ajax 调用进行验证。 目前我有这个: $("#invoiceForm").validate({ rules: { plateNumbe
我正在使用 asp.net mvc 3 客户端验证。我试图在提交任何表格之前做一些事情。我发现 JQuery 的验证有一个submitHandler,这似乎是我正在寻找的,但我在语法上遇到了问题。 我
我对多个页面使用mainSubmitHandler,如果需要,我愿意将其定义为全局变量。但是,mainSubmitHandler 需要进行一些调整,我使用 subSubmitHandler 来处理这个
我开发了一个表单,根据 ajax 请求的答案放置可见字段和必填字段。最初,submitHandler 被毫无问题地触发,但在对代码(仅 js 部分)进行一些编辑后,似乎不再触发,并且它直接进入提交事件
这个问题已经有答案了: Jquery validation not working with ckeditor (12 个回答) 已关闭 9 年前。 嗨,我用过jQuery Validation在提交
我有一个带有两个按钮的表单 a) 测试 - 单击按钮时调用 javascript 函数来验证几个凭据。 b) 创建 - 单击按钮时调用 javascript 函数来保存表单。 @Messages("p
您好,我遇到了以下问题,我的以下代码对我不起作用,我也不知道为什么。我希望你们能帮助我。 编辑:提交处理程序根本不会被调用。我什至没有收到警报消息。在验证表单之前,我想禁用提交按钮。 $('f
这是我用于 submitHandler 的代码: submitHandler: function() { $('.holder').fadeOut('slow'); $('#loading').f
我正在使用JQuery Form Plugin ,JQuery validation plugin和 jqTransform 插件。 我有一个隐藏的表单,我可以通过它来添加或编辑内容。编辑或添加操作会
我有一个表单需要一些验证后警告。这个概念很简单,这些值是允许的,但超出了正常范围。处理这个问题的方式是在验证提交处理程序中: $('form').validate({ highlight: f
我有一个表单,正在尝试使用 JQuery Validate 进行验证,效果很好。单击提交按钮时,submitHandler 应 1. 禁用该按钮(以防止多次提交)并 2. 更改按钮文本。 按原样,代码
我遇到了使用 jQuery 验证插件 1.9.0 验证 HTML 表单的情况。 (我使用的是 jQuery 1.6.4)。如果页面加载后表单填写正确,则提交时会进行验证。验证会给出成功消息,但不会触发
这是 jQuery 提交表单代码。我想知道的是如何使用submitHandler 提交表单。提前致谢。 submitHandler: function(form) { // do other
我正在探索 backbone.js,我正在尝试设置简单的登录页面。这是我的 view.js 文件: window.LoginView = Backbone.View.extend({ ev
我正在将联系表单转换为 AJAX,以便执行成功功能。现在代码在 submitHandler 部分停止,说它是未定义的。我的 submitHandler 怎么没有定义? submitHandler(函数
我有以下表格: {% csrf_token %} 我想验证表单,然后通过 Ajax 发送该表单中的数据以供进一
我有一个 HTML 表单 还有一段jQuery代码: $(document).ready(function(){ var validator = $("#myform"
我是一名优秀的程序员,十分优秀!