了解jQuery验证是通过element()还是表单提交启动的



在jQuery验证插件的自定义高亮显示函数中,我想做不同的事情,这取决于验证是由无效元素的blur()(通过$('form').validate().element($element)(发起的,还是表单已提交。(当一个元素无效时,会调用高亮显示函数。如果这种情况发生在表单提交上,则后者将中止。(

据我所知,插件中被称为"onsubmit"的方法只是为表单的每个元素调用element()方法,没有传递任何指示调用来源的变量,我也没有找到任何可访问的变量或验证器的方法,我可以从我的高亮函数中使用这些变量或方法来找出是什么启动了验证。我希望我只是忽略了一些东西,所以如果有人有提示…:(

(或者,也许有一些外部方法可以判断表单是否正在提交过程中?我真的不能用模糊作为指标,因为两者都可以同时发生。我可能会用第二个"onsubmit"事件设置一些变量,然后在半秒钟左右后取消设置,但对我来说,这似乎有点混乱…(

编辑:我举了一个小例子来说明我的问题:https://jsfiddle.net/b7L6d9kn/-在这里,尝试提交和输入字段的模糊都将其背景色更改为红色。我如何使其仅在尝试提交后变为紫色,但仍在模糊时进行验证?

您必须与服务器端脚本语言交互才能获得此功能

我选择PHP作为我的答案,因为这是我最了解的

您可以检查服务器上是否使用了post方法,甚至可以传递表单的名称,以查询是否有特定元素发出了请求。

if (isset($_POST['name_attribute_of_form']))
{ 
...do some logic
}

相关内容

  • 没有找到相关文章

最新更新