jQuery首先单击addClass,然后再单击重定向

时间:2014-07-08 16:37:21

标签: javascript jquery

我正在尝试构建临时(和伪造)表单验证。

在表单上,​​如果您第一次单击“提交”,它会在所需输入中添加一个“.error”类和一个范围。如果再次单击“提交”,我希望它重定向到另一个页面。

我似乎无法弄清楚如何在同一个提交按钮上有两个不同的功能。第一次点击需要添加一个类,第二次点击应该重定向。

这是我的代码:

if($("button").hasClass('redirect')){
    $("button").click(function(){
        window.location.href="index.html";
    });
} else {
    $("button").click(function(){
        $(this).addClass("redirect");
        $("input:required").addClass('error');
        $("<small class=error>Invalid entry.</small>").insertAfter("input:required");
    });
}

3 个答案:

答案 0 :(得分:0)

你可以这样做:

 $("button").click(function(){
     if(!$(this).hasClass('redirect'))
     {
        $(this).addClass("redirect");
        $("input:required").addClass('error');
        $("<small class=error>Invalid entry.</small>").insertAfter("input:required");
     }
     else
     {
        window.location.href="index.html";
     }
  });

答案 1 :(得分:0)

也许你应该只使用相同的功能?类似的东西:

$("button").click(function(){
    if($("button").hasClass('redirect')){
        window.location.href="index.html";        
    } else {
        $(this).addClass("redirect");
        $("input:required").addClass('error');
        $("<small class=error>Invalid entry.</small>").insertAfter("input:required");
    });
}

答案 2 :(得分:0)

    $("button").click(function(){
        if($("button").hasClass('redirect')){
            window.location.href="index.html";
        } else {
            $(this).addClass("redirect");
            $("input:required").addClass('error');
            $("<small class=error>Invalid entry.</small>").insertAfter("input:required");
        }
    });