2012-07-29 36 views
1

我正在開發一個簡單的學生信息應用程序。我的index.phtml中有學生名單,我可以在那裏編輯學生信息。它工作的很好,但我想用版本學生信息模態。但我不知道該怎麼辦this.Below我已經發布我的最新代碼:如何使用jQuery的簡單模態插件來編輯zend框架中的表單數據?

/// indexController.php

public function editAction() 
    { 
     $modelStudents = new Application_Model_DbTable_Students(); 
     $id = (int) $this->_getParam('id'); 

     $student = $modelStudents->fetch($id); 

     $form = new Application_Form_Student($student->email); 
     $form->submit->setLabel('Save'); 
     $this->view->form = $form; 
     if ($this->getRequest()->isPost()) { 
      $formData = $this->getRequest()->getPost(); 
      if ($form->isValid($formData)) { 
       $id = (int)$form->getValue('id'); 
       $name = $form->getValue('name'); 
       $email = $form->getValue('email'); 
       $phone = $form->getValue('phone'); 
       $students = new Application_Model_DbTable_Students(); 
       $students->updateStudent($id, $name, $email, $phone); 

       $this->_helper->redirector('index'); 
      } else { 
       $form->populate($formData); 
      } 
     } else { 
      $id = $this->_getParam('id', 0); 
      if ($id > 0) { 

       $form->populate($modelStudents->getStudent($id)); 
      } 
     } 

    } 

/// index.phtml

<html> 
<head> 
<style type="text/css" rel="stylesheet"> 
</style> 
<script type="text/javascript" src="jQuery.js"> </script> 
<script type ="text/javascript" src="jquery.simplemodal-1.4.2.js" ></script> 
<script> 

<?php   
echo "Student List"; 

?> 
<p><a href="<?php echo $this->url(array('controller'=>'index', 
     'action'=>'add'));?>">Add new student</a></p> 
<table border="1"> 
<tr> 
    <th>Name</th> 
    <th>Email</th> 
    <th>Phone</th> 

    <th>Action</th> 

</tr> 
<?php foreach($this->students as $student) : ?> 
<tr> 

    <td><?php echo $student->name;?></td> 
    <td><?php echo $student->email;?></td> 
    <td><?php echo $student->phone;?></td> 

    <td> 
     <a href="<?php echo $this->url(array('controller'=>'index', 
      'action'=>'edit', 'id'=>$student->id));?>">Edit</a> 
     <a href="<?php echo $this->url(array('controller'=>'index', 
      'action'=>'delete', 'id'=>$student->id));?>">Delete</a> 
     <p id="delete" > Delete </p> 
    </td> 
</tr> 
<?php endforeach; ?> 
</table> 

</center> 
</html> 

////edit.phtml

<center> 
<?php 

echo "Edit Student List "; 
echo $this->form ; 
?> 
</center> 

請讓我知道如何使用jQuery簡單模態插件來完成此任務。 在此先感謝

+0

這個問題有點含糊,涉及到相當多的編碼。我建議你先看看AJAX和jQuery教程。之後,如果你有一些具體問題,我會更樂意幫助你。 – 2012-07-30 13:56:57

回答

1

開始通過編輯index.phtml文件類和學生ID添加到您的編輯鏈接:

<a href="<?php echo $this->url(array('controller'=>'index', 
      'action'=>'edit', 'id'=>$student->id));?>" class="editBtn" studentId="<?=$student->id?>">Edit</a> 

然後,在包含js文件:

$(document).ready(function() { 

    $(function() { 
     //Event triggered when clicking on the edit btn 
     $('.editBtn').click(function(event) { 
      event.preventDefault ? event.preventDefault() : event.returnValue = false; 
      //Get the page and add it to the modal 
      studentId = $(this).attr('studentId'); 
      var data={}; 
      data['id'] = studentId; 
      url = "/index/edit/"; 
      $.get(url, data, function(resp) { 
       $.modal(resp); 
      }); 
     }); 
    }); 

}); 

這應該有助於你開始...