2011-03-25 2 views
0

두 가지 동작이있는 컨트롤러를 사용하고 있습니다. 하나는보기를 표시하는 소유자이고 다른 하나는 이벤트를 수행 할 작업입니다. 그래서 내 컨트롤러는 다음과 같이 추천했습니다 : Jquery 폼이 적절한 조치를 취하지 않습니다.

<p> 
    <?php if(!empty($this->errorMessage)) : ?> 
     <img src="/images/view/exclamation.png" alt="error" style="vertical-align:middle;"/> 
     <span style="color:#f00;"><?php echo $this->errorMessage; ?></span> 
    <?php endif; ?> 
    </p> 
<br /> 
<form id="addUserForm" method="post" enctype="multipart/form-data"> 
    <p>This section is a disclaimer for requesting obscure data......</p> 
    <br /> 
    <p><strong>username:</strong></p> 
    <input type ="text" name ="username" id="username"/> 
    <input type ="text" name ="password" id="password" /> 
    <input type="submit" name="addUserBtn" id="addUserBtn" value="Add User" /> 
</form> 

지금 표시된보기에서 나는 양식을 만들었습니다

public function showAViewAction(){ 
    //empty 
} 

public function addUserAction(){ 
     //Code to create a user 
} 

여기에 양식 코드입니다. jquery를 사용하여 양식 요청을 내 컨트롤러의 addUser 작업으로 보냅니다. 그것은 다음과 같습니다

<script type="text/javascript"> 
$(document).ready(function() { 
    newRequestValidator = $('#addUserForm').validate({ 
     rules: { 
      username: 'required', 
      password: 'required' 
     }, 
    submitHandler: 
     function(form) { 

      var options = { 
       url: 'add-user', 
       dataType: 'json', 
       success: showUser 
      }; 
      $(form).ajaxSubmit(options); 
     } 
    }); 
}); 
function showUser(data) { 

    window.location = '/user/'; 

} 
</script> 

문제는 내가 내 양식에 제출 버튼을 클릭 할 때이 showView 액션 대신 ADDUSER 액션 안타 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

'showUser'이 (가) 클릭시 실행되고 있습니까? –

+0

클릭하면 컨트롤러 쪽의 AddUser가 실행되지 않습니다. 나는 로거 (Logger)를 가지고 있으며, 결코 치지 않습니다. – Matt

+0

'showUser' JS 함수 안에'alert ('Hi there')'를 넣으면 버튼을 클릭 할 때 얻게됩니까? –

답변

1

에서이 다운로드 할 수 있습니다 "추가 사용자"가 "/ 사용자/추가 사용자를"에서 "URL"옵션을 변경해보십시오. Firebug 또는 Chrome의 검사관에서 요청을 검사하는 경우 요청이 잘못된 형식이어야합니다.

+0

좋은 전화 랜스 –

2

작업의 이름이 잘못 지정 되었습니까?

public function showAView(){ 
    //empty 
} 

public function addUser(){ 
     //Code to create a user 
} 

public function showAViewAction(){ 
    //empty 
} 

public function addUserAction(){ 
     //Code to create a user 
} 

당신의 잘못을 액세스하는 경우 편집

, 당신은 addUser

+0

죄송합니다. 내 파트의 오타였습니다. – Matt

+0

작업에 액세스하는 것에 대한 내 편집을 참조하십시오 ... –

+0

변경 사항을 적용했으나 결과가 아직 없습니다. 양식 버튼을 클릭하면 showAViewAction이 addUserAction이 아니라 – Matt

0

당신이 검증 플러그를 추가 있습니까하지 add-user를 사용해야이어야한다 귀하의 소스 코드에?

<script src="jquery.validate.min.js" type="text/javascript" ></script> 

현재 http://plugins.jquery.com/project/validate

관련 문제