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