Javascript 打破每个循环

Javascript 打破每个循环,javascript,jquery,Javascript,Jquery,请原谅我问了这个问题。我已经经历了很多解决方案,但对我来说并不奏效 我有大约5个输入字段,如果它在任何输入字段上发现非法字符(如果有人输入一个并试图保存),它应该会发出警告消息 到目前为止,当它找到一个时,它会发出警报,但随后它会去保存它 我试图打破each()循环,返回false不起作用 也希望有更好的解决办法 //非法字符检查 $('.非法检查')。单击(函数(){ var非法=/[&]/; $(“.scoring输入:text”)。每个(函数(){ var inptStr=$(this.

请原谅我问了这个问题。我已经经历了很多解决方案,但对我来说并不奏效

我有大约5个输入字段,如果它在任何输入字段上发现非法字符(如果有人输入一个并试图保存),它应该会发出警告消息

到目前为止,当它找到一个时,它会发出警报,但随后它会去保存它

我试图打破each()循环,返回false不起作用

也希望有更好的解决办法

//非法字符检查
$('.非法检查')。单击(函数(){
var非法=/[&]/;
$(“.scoring输入:text”)。每个(函数(){
var inptStr=$(this.val();
if(非法测试(inptStr)==真){
警报('您的评分字段包含这些无效字符&<>请删除它们并重试');
返回false;
}
});//每个
});//点击
编辑: 您的数据仍然被保存的原因是,即使您使用“return false”打破了循环,您的数据提交仍在进行中。你也需要取消它。为此,通过调用事件处理程序的“preventDefault”函数,使用传递给事件处理程序的事件参数“e”

编辑: 您的数据仍然被保存的原因是,即使您使用“return false”打破了循环,您的数据提交仍在进行中。你也需要取消它。为此,通过调用事件处理程序的“preventDefault”函数,使用传递给事件处理程序的事件参数“e”

编辑: 您的数据仍然被保存的原因是,即使您使用“return false”打破了循环,您的数据提交仍在进行中。你也需要取消它。为此,通过调用事件处理程序的“preventDefault”函数,使用传递给事件处理程序的事件参数“e”

编辑:
您的数据仍然被保存的原因是,即使您使用“return false”打破了循环,您的数据提交仍在进行中。你也需要取消它。为此,您可以通过调用事件处理程序的“preventDefault”函数来使用传递给事件处理程序的事件参数“e”。

您还可以添加一个变量来查看是否找到非法值:

//非法字符检查
$('.非法检查')。单击(函数(){
var非法=/[&]/;
var=false;
$(“.scoring输入:text”)。每个(函数(){
var inptStr=$(this.val();
if(非法测试(inptStr)==真){
警报('您的评分字段包含这些无效字符&<>请删除它们并重试');
发现=真;
}
});
如果(!找到){
警报(“未找到任何内容”)
}否则{
警报(“发现非法字符”);
}
});

您还可以添加一个变量以查看是否找到非法值:

//非法字符检查
$('.非法检查')。单击(函数(){
var非法=/[&]/;
var=false;
$(“.scoring输入:text”)。每个(函数(){
var inptStr=$(this.val();
if(非法测试(inptStr)==真){
警报('您的评分字段包含这些无效字符&<>请删除它们并重试');
发现=真;
}
});
如果(!找到){
警报(“未找到任何内容”)
}否则{
警报(“发现非法字符”);
}
});

您还可以添加一个变量以查看是否找到非法值:

//非法字符检查
$('.非法检查')。单击(函数(){
var非法=/[&]/;
var=false;
$(“.scoring输入:text”)。每个(函数(){
var inptStr=$(this.val();
if(非法测试(inptStr)==真){
警报('您的评分字段包含这些无效字符&<>请删除它们并重试');
发现=真;
}
});
如果(!找到){
警报(“未找到任何内容”)
}否则{
警报(“发现非法字符”);
}
});

您还可以添加一个变量以查看是否找到非法值:

//非法字符检查
$('.非法检查')。单击(函数(){
var非法=/[&]/;
var=false;
$(“.scoring输入:text”)。每个(函数(){
var inptStr=$(this.val();
if(非法测试(inptStr)==真){
警报('您的评分字段包含这些无效字符&<>请删除它们并重试');
发现=真;
}
});
如果(!找到){
警报(“未找到任何内容”)
}否则{
警报(“发现非法字符”);
}
});

我个人会在表单上添加一个提交处理程序,而不是在表格单元格上添加一个单击事件

$('form').on('submit', function(e) {
    // ...
    if (illegal.test(inptStr)===true) {
        alert('...');
        e.preventDefault();
        return false;
    }
    // ...

在这里,事件被传递给函数,任何错误都会阻止此事件触发实际提交。

我个人会在表单上添加提交处理程序,而不是在表单元格上添加单击事件

$('form').on('submit', function(e) {
    // ...
    if (illegal.test(inptStr)===true) {
        alert('...');
        e.preventDefault();
        return false;
    }
    // ...

在这里,事件被传递给函数,任何错误都会阻止此事件触发实际提交。

我个人会在表单上添加提交处理程序,而不是在表单元格上添加单击事件

$('form').on('submit', function(e) {
    // ...
    if (illegal.test(inptStr)===true) {
        alert('...');
        e.preventDefault();
        return false;
    }
    // ...

在这里,事件被传递给函数,任何错误都会阻止此事件触发实际提交。

我个人会在表单上添加提交处理程序,而不是在表单元格上添加单击事件

$('form').on('submit', function(e) {
    // ...
    if (illegal.test(inptStr)===true) {
        alert('...');
        e.preventDefault();
        return false;
    }
    // ...

在这里,事件被传递到函数,任何错误都会阻止此事件触发实际提交。

jQuery的
$.fn.每个
,类似于
$。每个
,都将以
返回false
打破循环,并以任何非falsy
返回
继续下一次迭代


当然,这部分代码应该可以。

jQuery的
$.fn。每个
,类似于
$。每个
,都将以
返回false
打破循环,并以任何非falsy
返回
继续下一次迭代

所有权利,这个标准
$('.illegal-check').click(function () {
    if(checkIllegal()) evt.preventDefault();
});

function checkIllegal(){
   var illegal = /[&<>]/;
   var isIllegal = false;
   $( ".scoring input:text" ).each(function() {
      if (illegal.test($(this).val()) && !isIllegal) {
         alert('Your Scoring field(s) contain these & < > invalid characters. Please remove them and try again.');
         isIllegal = true;
         return false;
      }
   });
   return isIllegal;
}
// Illegal Character Check
$('.illegal-check').click(function (e) {
    var illegal = /[&<>]/;
    $( ".scoring input:text" ).each(function() { // loop over elements in form
        var inptStr = $(this).val();
        if (illegal.test(inptStr)===true) {
            alert('...'); // show alert
            e.preventDefault(); // prevent default action on click (stop submit)
            return false; // break out of elements loop, no more alerts needed
        }
    });//each
});//click