首页 > 解决方案 > 如果出现警报,则停止重定向页面

问题描述

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

我有一个表单和一个保存按钮,当单击保存按钮时,它首先运行一个脚本来检查是否使用了坏词。如果文本包含坏词,它会显示一个警报。当我点击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>

但是,我想在警报后留在同一页面,以便用户可以删除坏词并再次单击保存按钮。

标签: javascriptjquery

解决方案


我使用keydownjquery 的功能来检查坏词并在使用坏词时禁用按钮。

我的代码

<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>

现在它对我来说很好...... :)


推荐阅读