Javascript 提交前如何在表单中执行字符串拆分?

Javascript 提交前如何在表单中执行字符串拆分?,javascript,jquery,html,Javascript,Jquery,Html,我有一个表格,要求提交前对输入数据进行验证。验证检查的类型(每个输入元素可以超过1个)被输入到输入元素中,验证由jQuery执行 我的方法是将所有需要并用逗号分隔的验证类型(如“blank,email”)放入输入元素的“checks”属性中。然后jQuery将提取该部分,将其拆分为一个数组,并循环遍历每个验证类型 问题是,在所有验证检查完成之前,我不想提交表单。但是当我使用“split”函数时,由于它返回一个数组,程序将其视为一个布尔值true,并在返回第一个输入元素后提交表单 下面是表单的一个

我有一个表格,要求提交前对输入数据进行验证。验证检查的类型(每个输入元素可以超过1个)被输入到输入元素中,验证由jQuery执行

我的方法是将所有需要并用逗号分隔的验证类型(如“blank,email”)放入输入元素的“checks”属性中。然后jQuery将提取该部分,将其拆分为一个数组,并循环遍历每个验证类型

问题是,在所有验证检查完成之前,我不想提交表单。但是当我使用“split”函数时,由于它返回一个数组,程序将其视为一个布尔值true,并在返回第一个输入元素后提交表单

下面是表单的一个示例,请注意,它与所有其他字段看起来都类似:


全名
NRIC
//执行验证检查
$(“表格”)。提交(函数()
{
//循环遍历所有输入字段
$(“表单输入、表单文本区域、表单选择”)。每个(函数(e)
{
//如果输入的父项均未隐藏
if($(this).parents(“:hidden”).length==0)
{
var _hasrerror=false;
var thisValue=$(this.val();
var checkWhat=$(this.attr(“check”);
var checkArray=checkWhat.split(“,”);
对于(var i=0;i
//执行验证检查
$(“表格”)。提交(函数()
{
//循环遍历所有输入字段
$(“表单输入、表单文本区域、表单选择”)。每个(函数(e)
{
//如果输入的父项均未隐藏
if($(this).parents(“:hidden”).length==0)
{
var _hasrerror=false;
var thisValue=$(this.val();
var checkWhat=$(this.attr(“check”);
var checkArray=checkWhat.split(“,”);

对于(var i=0;i您可以停止表单提交默认操作,执行您想要的任何逻辑,然后提交

// PERFORM VALIDATION CHECKS
$("form").submit(function( event ){
    event.preventDefault(); // stops submit action

    // do your form validation here.

});

也没有检查HTML属性。您可以使用它,但它不是标准的。或者您可以只获取输入值。大多数人将数据添加到自定义HTML属性(数据检查)。

您可以停止表单提交默认操作,执行任何您想要的逻辑,然后提交

// PERFORM VALIDATION CHECKS
$("form").submit(function( event ){
    event.preventDefault(); // stops submit action

    // do your form validation here.

});

也没有检查HTML属性。您可以使用它,但它不是标准的。或者您可以只获取输入值。大多数人将数据添加到自定义HTML属性(数据检查)。

如果验证出错,为什么不使用e.preventDefault?.submit(函数(e){//如果验证有错误,则e.preventDefault();})据我所知,
check
不是一个有效的属性。请改用数据属性,例如,
data check
。嗨,文森特,谢谢你的回答。我不知道如何利用它来发挥我的优势。你能给我一些建议吗?任何代码片段或链接都会很有用。也许他把它当作自定义属性,并被jQueryHi Bram,感谢您的回复。是的,它在HTML中不是有效的标记,但我相信jQuery可以通过使用.attr()函数获取自定义属性。如果验证出错,为什么不使用e.preventDefault?.submit(函数(e){//validation if has error then e.preventDefault();})据我所知,
check
不是一个有效的属性。请改用数据属性,例如,
data check
。嗨,文森特,谢谢你的回答。我不知道如何利用它来发挥我的优势。你能给我一些建议吗?任何代码片段或链接都会很有用。也许他把它当作自定义属性,并被jQueryHi Bram,感谢您的回复。是的,它在HTML中不是有效的标记,但我相信jQuery可以通过使用.attr()获取自定义属性函数。非常感谢您的帮助!我明天将试用它,看看它是否有效。不过我应该澄清一下,在部分测试代码时,我没有添加错误检查变量。再次感谢=)没问题。_hasError只是一个标志。preventDefault()是一个停止事件默认行为的函数。祝您编码愉快!非常感谢您的帮助!我明天将试用它,看看它是否有效。不过我应该澄清一下,在部分测试代码时,我没有添加错误检查变量。再次感谢=)没问题。_hasError只是一个标志。preventDefault()是一个停止事件默认行为的函数。祝您编码愉快!