我正在使用兩個操作的控制器。一個只是一個顯示視圖的持有者,另一個是執行en事件的動作。所以,我喜歡控制這樣的:jquery表單提交不符合正確的操作
public function showAViewAction(){
//empty
}
public function addUserAction(){
//Code to create a user
}
這裏是表單代碼:
<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>
現在在顯示視圖我創建了一個表格。我正在使用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'正在點擊嗎? – 2011-03-25 14:02:35
控制器端的AddUser從不被點擊觸發。我有一個記錄器,它從來沒有被擊中。 – Matt 2011-03-25 14:04:57
如果你在'showUser' JS函數內部放置了一個'alert('Hi there')',那麼當你點擊這個按鈕時你會得到這個嗎? – 2011-03-25 14:07:36