2012-07-14 26 views
0

我添加了一个摇动画动画类(Css3),当文本框为空时,但它不能正常工作,因为asp.net mvc会将用户重定向到主页。任何处理这件事的方法。在asp.net中处理jquery函数mvc

public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult Index(string username, string password) 
    { 
     if (ModelState.IsValid) 
     { 
      return RedirectToAction("Index", "Product"); 
     } 
     else 
     { 
      return RedirectToAction("Index","Home"); 
     } 
    } 

jQuery函数

$('#loginButton').click(function() { 
    shaking(); 
}); 


function shaking() { 
    if ($('#username').val() || $('#password').val()) { 

    } 
    else { 
     $('#loginForm').addClass("shake"); 
     setTimeout(function() { 
      $('#loginForm').removeClass(); 
     }, 2000); 
    } 
}; 

回答

0

您需要防止您按一下按钮的默认操作,否则它会导致提交表单(引起您注意的重定向)。如果您传递事件到您的功能,您可以防止通过调用事件preventDefault()如果相关字段没有填写提交。

$('#loginButton').click(function (e) { 
    shaking(e); 
}); 


function shaking(e) { 
    if ($('#username').val() && $('#password').val()) { // should be an && to check both 
     // do something if both username and password filled in 
    } 
    else { 
     e.preventDefault(); // prevent form from being submitted 

     $('#loginForm').addClass("shake"); 
     setTimeout(function() { 
      $('#loginForm').removeClass(); 
     }, 2000); 
    } 
};​ 
+0

注意'这里e'是[jQuery的事件对象(HTTP ://api.jquery.com/category/events/event-object/) – nbrooks 2012-07-14 07:35:39