【问题标题】:jquery validate, add, delete email addressjquery 验证,添加,删除电子邮件地址
【发布时间】:2011-07-24 08:33:13
【问题描述】:

我正在尝试验证电子邮件地址,然后将其添加到多选框中。我正在使用 qTip 和 jquery validate 来解决问题。所以当点击添加按钮时,脚本应该验证并添加到下面的选择框中。验证工作正常,但要添加我将方法添加到主 qTip 脚本时遇到一点困难。谁能帮我整合以下内容

这里是demo

添加脚本

  $(document).ready(function() {
 $("#addButton").click(function() {
    var arr = new Array();
    $('#emailRecipients option').each(function(){
        arr.push($(this).attr('value'))
    });
    var duplicateFlag = false;
    for(var i = 0; i < arr.length; i++) {
        if(arr[i].toString() == $('#validate').val()) {
            duplicateFlag = true;
            break;
        }
    }

    if(duplicateFlag) {
        alert('sorry...');
    } else {
        $('#emailRecipients').append($("<option>" + $('#validate').val() + "</option>"));
    }
    return false;
});
    });

【问题讨论】:

    标签: jquery validation email-validation qtip


    【解决方案1】:

    由于您通过字符串比较进行验证,您可以在下面收紧您的代码。此外,您需要将 .append() 方法中的 jquery 更改为原始 HTML,并将电子邮件地址添加到选项值。

    $(document).ready(function(){
    
        $("#addButton").click(function(){
            var emails = [];
            $("#emailRecipients option").each(function(){
                emails.push($(this).val());
            });
    
            if( $.inArray($('#validate').val(), emails) != -1 ){
                alert("sorry...");
            }else{
                $('#emailRecipients').append("<option value='" + $('#validate').val() + "'>" + $('#validate').val() + "</option>");
            }
        });
    
    });
    

    【讨论】:

    • 我正在尝试添加此逻辑 qTip 脚本,我正在验证并在鼠标悬停时显示错误消息。这是demo
    • @Ravi:反过来,你可能会遇到更少的麻烦。也就是说,不要将逻辑合并到组件中,例如将上面的代码添加到 .validate() 中,如果他们输入了已经输入的电子邮件地址,则应该 validate() 并为文本字段创建一个 qTip。 (例如,不要提醒“对不起...”,而是为文本字段创建 qTip,让他们知道他们已经输入了电子邮件地址)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 2011-09-02
    • 2013-02-20
    相关资源
    最近更新 更多