jquery注释表单验证errorPlacement ajax返回

时间:2012-03-08 01:18:03

标签: jquery ajax forms response comments

我遇到的问题是我的javascript插件似乎有冲突,但只是轻微。如果您查看我创建表单的fiddle,您会注意到在创建输入字段然后删除后,警报消息会在下一个元素(最初放置它们的下方)之间弹出。

澄清:如果用户尚未输入任何信息,则警报会弹出正确的位置(以红色文本浮动到输入字段的右侧)。但是,如果用户输入了他们的名字,然后删除他们的名字,则ajax警报(“此字段是必需的”)会弹出错误的位置,位于下面的字段中。在我包含这部分javascript(控制页面上的不同菜单)之后出现问题:

/* jQuery Content Panel Switcher JS */
var jcps = {};
jcps.fader = function(speed, target, panel) {
    jcps.show(target, panel);
    if (panel == null) {panel = ''};
    $('.switcher' + panel).click(function() {
        var _contentId = '#' + $(this).attr('id') + '-content';
        var _content = $(_contentId).html();
        if (speed == 0) {
            $(target).html(_content);
        }
        else {    
            $(target).fadeToggle(speed, function(){$(this).html(_content);}).fadeToggle(speed);
        }
    });
};
jcps.slider = function(speed, target, panel) { 
    jcps.show(target, panel);
    if (panel == null) {panel = ''};
    $('.switcher' + panel).click(function() {
        var _contentId = '#' + $(this).attr('id') + '-content';
        var _content = $(_contentId).html();
        if (speed == 0) {
            $(target).html(_content);
        }
        else {    
            $(target).slideToggle(speed, function(){$(this).html(_content);}).slideToggle(speed);
        }
    });
};
jcps.show = function (target, panel) {
$('.show').each(function() {
    if (panel == null) {
        $(target).append($(this).html() + '<br/>');
    }
    else {
        var trimPanel = panel.replace('.', '');
        if ($(this).hasClass(trimPanel) == true){$(target).append($(this).html() + '<br/>');}
    }
});
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我认为你可能对某些css冲突是正确的,但我能够通过修改label.error元素上的css来接近我认为的预期效果。

label.error { color: red; position: relative; float: right: top: -30px; }

示例:http://jsfiddle.net/shanabus/kmJ87/1/