2012-07-14 3 views
0

텍스트 상자가 비어 있지만 asp.net mvc가 홈 페이지로 사용자를 다시 리디렉션 할 때 제대로 작동하지 않는 경우 흔들기 애니메이션 클래스 (Css3)를 추가했습니다. 이 일을 처리 할 수있는 접근법.asp.net mvc의 jquery 함수 처리

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