두 가지 동작이있는 컨트롤러를 사용하고 있습니다. 하나는보기를 표시하는 소유자이고 다른 하나는 이벤트를 수행 할 작업입니다. 그래서 내 컨트롤러는 다음과 같이 추천했습니다 : 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 액션 안타 것입니다. 내가 도대체 뭘 잘못하고있는 겁니까?
'showUser'이 (가) 클릭시 실행되고 있습니까? –
클릭하면 컨트롤러 쪽의 AddUser가 실행되지 않습니다. 나는 로거 (Logger)를 가지고 있으며, 결코 치지 않습니다. – Matt
'showUser' JS 함수 안에'alert ('Hi there')'를 넣으면 버튼을 클릭 할 때 얻게됩니까? –