2011-03-25 37 views
0

我正在使用兩個操作的控制器。一個只是一個顯示視圖的持有者,另一個是執行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作用。我究竟做錯了什麼?

+0

你確定'showUser'正在點擊嗎? – 2011-03-25 14:02:35

+0

控制器端的AddUser從不被點擊觸發。我有一個記錄器,它從來沒有被擊中。 – Matt 2011-03-25 14:04:57

+0

如果你在'showUser' JS函數內部放置了一個'alert('Hi there')',那麼當你點擊這個按鈕時你會得到這個嗎? – 2011-03-25 14:07:36

回答

1

下載這個嘗試改變從「添加用戶」到「/用戶/添加用戶」的「URL」選項。如果您檢查螢火蟲或鑲嵌在檢查器中的鉻的請求,則應該看到請求格式錯誤。

+0

+1好的電話蘭斯 – 2011-03-26 00:17:43

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 
} 

編輯

在你訪問這些不正確的話,你需要使用add-useraddUser

+0

對不起,這只是我的錯字 – Matt 2011-03-25 15:39:58

+0

請參閱我的關於訪問操作的編輯... – 2011-03-25 15:49:55

+0

進行了更改,但仍然沒有結果。當我點擊表單按鈕showAViewAction被稱爲不addUserAction – Matt 2011-03-25 16:00:07