Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中显示本机验证消息_Javascript_Jquery_Validation_Html - Fatal编程技术网

在JavaScript中显示本机验证消息

在JavaScript中显示本机验证消息,javascript,jquery,validation,html,Javascript,Jquery,Validation,Html,我目前正在开发一个由HTML5功能和jQuery支持的表单。我的任务之一是确保本机“请填写此字段”消息仍然可用于本机支持验证的浏览器 我的设置如下所示: |----------| | FORM | |----------| ===BUTTON=== 表单有几个部分,因此按钮在所有部分上都是全局的。如果完成,表格将滑至下一节 这就是我现在看到的,它正确地向表单触发按钮事件,并触发submit事件 $(".next").click(function() { var $incomin

我目前正在开发一个由HTML5功能和jQuery支持的表单。我的任务之一是确保本机“请填写此字段”消息仍然可用于本机支持验证的浏览器

我的设置如下所示:

|----------|
|   FORM   |
|----------|
===BUTTON===
表单有几个部分,因此按钮在所有部分上都是全局的。如果完成,表格将滑至下一节

这就是我现在看到的,它正确地向表单触发按钮事件,并触发
submit
事件

$(".next").click(function() {
    var $incoming = $(".nextPart #" + (currentSlide));
    var incomingID = $incoming.data("cardid");
    var partCode = "form-" + incomingID;

    $("form[name='" + partCode + "']").trigger("submit");
});

$("form").bind('submit', function(event) {
    var goForth = true;

    if(!event.currentTarget.checkValidity()) goForth = false;

    if(!goForth) return false;

    /* Do some stuff with progress bar and more things */

    return true;
});
但是,即使表单提交失败,也没有验证消息。有没有一种方法可以实用主义地针对某个元素,或者我做了什么蠢事

为了澄清,这是我正在讨论的验证消息的屏幕截图。

而不是
事件.currentTarget.checkValidity
--执行此操作

function checkValidity(elem) {
 // check validity here
 // retun true/false
}
if(checkValidity(event.currentTarget)) { ... 
然后在提交处理程序中执行以下操作

function checkValidity(elem) {
 // check validity here
 // retun true/false
}
if(checkValidity(event.currentTarget)) { ... 
另外,
trigger
本机浏览器事件通常不是一个好主意--
trigger
适用于自定义事件--如果需要提交表单,可以调用表单对象的
submit()
方法,如下所示

$("form[name='" + partCode + "']").get(0).submit();

而不是
event.currentTarget.checkValidity
--执行此操作

function checkValidity(elem) {
 // check validity here
 // retun true/false
}
if(checkValidity(event.currentTarget)) { ... 
然后在提交处理程序中执行以下操作

function checkValidity(elem) {
 // check validity here
 // retun true/false
}
if(checkValidity(event.currentTarget)) { ... 
另外,
trigger
本机浏览器事件通常不是一个好主意--
trigger
适用于自定义事件--如果需要提交表单,可以调用表单对象的
submit()
方法,如下所示

$("form[name='" + partCode + "']").get(0).submit();

正如我在第一篇文章中所描述的,我在一个全局范围内的按钮上使用了一个
单击事件。然后向表单发送
submit
操作,表单虽然发送要提交的表单,但并没有在元素上触发气泡事件(不管是什么)

为了解决这个问题,我将所有幻灯片包装为一种形式,而不是多张形式。我把提交按钮放在幻灯片外面,所以它仍然是一个全局导航项

从该按钮中删除
单击
事件并将其类型更改为
提交
现在将显示气泡


这不是最好的解决方案,因为气泡应该能够在不提交表单的情况下触发,但是,我想通过HTML5验证,您可以定义接受和不接受的参数。

正如我在第一篇文章中所述,我在全局范围内的按钮上使用了一个
单击事件。然后向表单发送
submit
操作,表单虽然发送要提交的表单,但并没有在元素上触发气泡事件(不管是什么)

为了解决这个问题,我将所有幻灯片包装为一种形式,而不是多张形式。我把提交按钮放在幻灯片外面,所以它仍然是一个全局导航项

从该按钮中删除
单击
事件并将其类型更改为
提交
现在将显示气泡


这不是最好的解决方案,因为气泡应该能够在不提交表单的情况下触发,但是,我想通过HTML5验证,您可以定义接受和不接受的参数。

事件。currentTarget
是一个DOM节点——您是否为其提供了
checkValidity
属性?否,但是当我使用
console.log()
时,它显示为一个属性。该属性是一个函数--
typeof event.currentTarget==“function”
false
console.log(typeof event.currentTarget)
报告一个
对象
+1,该对象具有一个名为
goForth
事件的变量引用。currentTarget
是一个DOM节点--您是否为其指定了
checkValidity
属性?没有,但在使用
console.log()时
它显示为属性。该属性是函数--
typeof event.currentTarget==“function”
false
console.log(typeof event.currentTarget)
报告一个
对象
+1,该对象具有一个名为
goForth
的变量引用。这对显示验证消息没有帮助,我可以手动验证自己,但由于无法按照我的格式执行我想要的操作,我会接受你的答案。我实际上不接受你的答案,因为我解决这个问题的方式与你的建议没有真正的联系。这对我显示验证消息没有帮助,我可以手动验证自己,但由于没有办法做我想做的事,所以我使用了,我接受你的答案。我实际上不接受你的答案,因为我解决这个问题的方式与你的建议没有真正的联系。