Javascript 如果出现警报,请停止重定向页面

Javascript 如果出现警报,请停止重定向页面,javascript,jquery,Javascript,Jquery,我在这里看到很多问题,但没有人解决我的问题 我有一个表单和一个保存按钮,当点击保存按钮时,它首先运行一个脚本来检查是否使用了不好的单词。如果文本包含坏单词,它将显示一个警报。当我单击警报的ok时,它将执行save按钮的挂起操作,然后重定向到主页面 我的代码 <script type="text/javascript"> $(document).delegate('.btn-save-template', 'click', function() { var text = $('

我在这里看到很多问题,但没有人解决我的问题

我有一个表单和一个保存按钮,当点击保存按钮时,它首先运行一个脚本来检查是否使用了不好的单词。如果文本包含坏单词,它将显示一个警报。当我单击警报的
ok
时,它将执行
save
按钮的挂起操作,然后重定向到主页面

我的代码

<script type="text/javascript">
$(document).delegate('.btn-save-template', 'click', function() {
    var text = $('#input-message').val().toLocaleLowerCase(); 
    var bad_words = ['bad', 'sex', 'fuck you', 'fuckyou', 'murder', 'rap']; // Bad Words

    if((new RegExp( '\\b' + bad_words.join('\\b|\\b') + '\\b') ).test(text)){
        alert('Sorry, you are not allowed to use bad words');
    }
});
</script>

$(文档).delegate('.btn保存模板','单击',函数()){
var text=$(“#输入消息”).val().toLocaleLowerCase();
var bad_words=[“坏”、“性”、“操你”、“操你”、“谋杀”、“说唱”];//坏词
if((新RegExp('\\b'+坏字.join('\\b |\\b'+'\\b'))).test(text)){
警告(“对不起,你不允许使用脏话”);
}
});

但是,我想在发出警报后保持在同一页面,这样用户就可以删除坏词并再次单击“保存”按钮。

提交按钮类型替换为按钮类型以禁用浏览器处理表单

<input type="button" class="btn-save-template" value=...>

当用户单击按钮时,如果所有测试都成功通过,则从脚本提交表单

<script type="text/javascript">
$(document).delegate('.btn-save-template', 'click', function() {
    var text = $('#input-message').val().toLocaleLowerCase(); 
    var bad_words = ['bad', 'sex', 'fuck you', 'fuckyou', 'murder', 'rap']; // Bad Words

    if((new RegExp( '\\b' + bad_words.join('\\b|\\b') + '\\b') ).test(text)){
        alert('Sorry, you are not allowed to use bad words');
    } else {
        this.form.submit();
    }
});
</script>

$(文档).delegate('.btn保存模板','单击',函数()){
var text=$(“#输入消息”).val().toLocaleLowerCase();
var bad_words=[“坏”、“性”、“操你”、“操你”、“谋杀”、“说唱”];//坏词
if((新RegExp('\\b'+坏字.join('\\b |\\b'+'\\b'))).test(text)){
警告(“对不起,你不允许使用脏话”);
}否则{
这个.form.submit();
}
});

提交按钮类型替换为按钮类型,以禁用浏览器处理表单

<input type="button" class="btn-save-template" value=...>

当用户单击按钮时,如果所有测试都成功通过,则从脚本提交表单

<script type="text/javascript">
$(document).delegate('.btn-save-template', 'click', function() {
    var text = $('#input-message').val().toLocaleLowerCase(); 
    var bad_words = ['bad', 'sex', 'fuck you', 'fuckyou', 'murder', 'rap']; // Bad Words

    if((new RegExp( '\\b' + bad_words.join('\\b|\\b') + '\\b') ).test(text)){
        alert('Sorry, you are not allowed to use bad words');
    } else {
        this.form.submit();
    }
});
</script>

$(文档).delegate('.btn保存模板','单击',函数()){
var text=$(“#输入消息”).val().toLocaleLowerCase();
var bad_words=[“坏”、“性”、“操你”、“操你”、“谋杀”、“说唱”];//坏词
if((新RegExp('\\b'+坏字.join('\\b |\\b'+'\\b'))).test(text)){
警告(“对不起,你不允许使用脏话”);
}否则{
这个.form.submit();
}
});

您可以阻止浏览器的默认行为

function(event) {
   ...
   if((new RegExp( '\\b' + bad_words.join('\\b|\\b') + '\\b') ).test(text)){
       alert('Sorry, you are not allowed to use bad words');
       event.preventDefault();
   }
});

您可以阻止浏览器的默认行为

function(event) {
   ...
   if((new RegExp( '\\b' + bad_words.join('\\b|\\b') + '\\b') ).test(text)){
       alert('Sorry, you are not allowed to use bad words');
       event.preventDefault();
   }
});

我使用jquery的
keydown
功能检查坏词,如果使用坏词则禁用按钮

我的代码

<script type="text/javascript">
$('#input-message').keydown(function() {
    var text = $('#input-message').val().toLocaleLowerCase(); 
    var bad_words = ['bad', 'fuck you', 'fuckyou', 'kill you', 'murder', 'rap']; // Bad Words

    if((new RegExp( '\\b' + bad_words.join('\\b|\\b') + '\\b') ).test(text)){
        alert('Sorry, you are not allowed to use bad words');
        $('.btn-save-template').attr('disabled',true);
        $('input-messgae').css('border','1px solid red');
    }else{
        $('.btn-save-template').attr('disabled',false);
    }
});
</script>

$(“#输入消息”).keydown(函数(){
var text=$(“#输入消息”).val().toLocaleLowerCase();
var bad_words=['bad'、'操你'、'操你'、'杀你'、'谋杀'、'说唱'];//坏话
if((新RegExp('\\b'+坏字.join('\\b |\\b'+'\\b'))).test(text)){
警告(“对不起,你不允许使用脏话”);
$('.btn保存模板').attr('disabled',true);
$('input-messgae').css('border','1px实心红色');
}否则{
$('.btn保存模板').attr('disabled',false);
}
});

现在对我来说很好…:)

我使用jquery的
keydown
功能检查坏词,如果使用坏词,则禁用按钮

我的代码

<script type="text/javascript">
$('#input-message').keydown(function() {
    var text = $('#input-message').val().toLocaleLowerCase(); 
    var bad_words = ['bad', 'fuck you', 'fuckyou', 'kill you', 'murder', 'rap']; // Bad Words

    if((new RegExp( '\\b' + bad_words.join('\\b|\\b') + '\\b') ).test(text)){
        alert('Sorry, you are not allowed to use bad words');
        $('.btn-save-template').attr('disabled',true);
        $('input-messgae').css('border','1px solid red');
    }else{
        $('.btn-save-template').attr('disabled',false);
    }
});
</script>

$(“#输入消息”).keydown(函数(){
var text=$(“#输入消息”).val().toLocaleLowerCase();
var bad_words=['bad'、'操你'、'操你'、'杀你'、'谋杀'、'说唱'];//坏话
if((新RegExp('\\b'+坏字.join('\\b |\\b'+'\\b'))).test(text)){
警告(“对不起,你不允许使用脏话”);
$('.btn保存模板').attr('disabled',true);
$('input-messgae').css('border','1px实心红色');
}否则{
$('.btn保存模板').attr('disabled',false);
}
});

现在对我来说很好…:)

第一:不要再使用
delegate
,因为它已被弃用,请改用
.on()
,第二:看看这将对您有所帮助。阻止表单提交的默认操作,仅当检查为阴性时手动提交表单,反之亦然,如果检查为阴性,则阻止表单提交positiv@empiric我使用这个e.preventDefault();e.立即停止传播();返回false;但是没有起作用首先:不要再使用
委托
,因为它已被弃用,请改用
.on()
,其次:看看这将对您有所帮助。阻止表单提交的默认操作,仅当检查为阴性时手动提交表单,反之亦然,如果检查为阴性,则阻止表单提交positiv@empiric我使用这个e.preventDefault();e.立即停止传播();返回false;但是没有起作用