2011-04-24 88 views
0

我正在製作一個CMS,並將由客戶端製作的頁面,他們將使用相同的形式來編輯頁面,添加新的頁面,添加新的子頁面,編輯該子頁面..我不想複製該表單爲每個操作的乘法時間。我想知道你們中的任何一個人是否有想法如何以最好的方式使用這種形式的所有行動。一個形式繁殖任務與PHP

<div class="containerholder"> 
<div class="container"> 
<div id="contain"> 
     <form method="post" id="customForm" action="edited.php"> 
      <div> 
       <label for="name">Navigation</label> 
       <input id="name" name="navigation" type="text" value="<?php echo $navigation ?>" /> 
      </div> 
      <div> 
       <label for="message">Content</label> 
       <textarea id="content" name="content" cols="" rows="" ><?php echo $content ?></textarea> 
      </div> 
      <div> 
       <input type="hidden" name="id" id="id" value="<?php echo $id ?>"> 
       <input id="send" name="send" type="submit" value="Save and update" /> 
      </div> 
     </form> 
    </div> 
</div></div> 

這是形式,如果你想看到它,我有一個想法如何使它但它不看對我來說,這是最好的方式(專業)。

謝謝你的時間!

回答

0

使用多個提交 - 按鈕每一項任務,並通過了提交按鈕的名稱(通常只有一個點擊提交按鈕提交)

專業鑑定請求的任務:這不是我的眼睛「專業」爲所有任務使用單一表單。

0

你可以使用多個提交按鈕,如谷歌憑藉其搜索確實/手氣不錯的選擇:

<input id="send" name="send" type="submit" value="edit" /> 
    <input id="send" name="send" type="submit" value="new page" /> 
    <input id="send" name="send" type="submit" value="edit subpage" /> 
    <input id="send" name="send" type="submit" value="new subpage" /> 

提交按鈕的名稱=值對被髮送,因爲它是表單數據的其餘部分,所以在服務器上使用相同的功能($ _GET或$ _POST等)收集它們。

或者,您可以使用表單控件和JavaScript事件來控制通過AJAX與服務器的通信(它更加靈活,您可以精確地控制通過JavaScript傳輸的數據,並且對於不等待頁面重新顯示的最終用戶來說它是無縫的廣告)。有關簡單的源代碼,請參閱http://www.w3schools.com/ajax

0

添加兩個或更多單選按鈕,選擇你的功能,例如:

,並在PHP中:

<?PHP 
... 

if($_POST['function'] == 'Add') 
{ 
//Add Function 
} else 
if($_POST['function'] == 'Delete') 
{ 
//DeleteFunction 
} else 
if($_POST['function'] == 'Edit') 
{ 
//EditFunction 
} 

... 
?> 
0

我建議做一個單一的形式,然後使用腳本來開關它在模式和數據之間根據需要填充字段。

對於指向表單的鏈接。

/* To create a New Record */ 
<a href="thisfile.php?action=new">New Record</a> 
/* To delete an Existing Record */ 
<a href="thisfile.php?action=delete&record=123">Delete #123</a> 
/* To edit an Existing Record */ 
<a href="thisfile.php?action=edit&record=123">Delete #123</a> 

對於表單文件(在我的例子thisfile.php本身)。

<?php 
if(isset($_GET['action'])){ 
    switch(strtolower($_GET['action'])){ 
    case 'delete' : 
     /* Perform Deletion Action Here */ 
     break; 
    case 'edit' : 
     if(isset($_POST['save'])){ 
     /* Perform Modification of Existing Values Here */ 
     }else{ 
     /* Perform Query for Existing Values Here */ 
     } 
     break; 
    case 'new' : 
     if(isset($_POST['save'])){ 
     /* Perform Creation of New Record Here */ 
     }else{ 
     /* Set Default Values */ 
     $navigation = ''; 
     $content = ''; 
     } 
     break; 
    } 
} 
?> 
<div class="containerholder"> 
    <div class="container"> 
    <div id="contain"> 
     <form method="post" id="customForm"> 
     <?php if(isset($_GET['action'])){ ?> 
      <input type="hidden" name="action" value="<?php echo $_GET['action']; ?>" /> 
     <?php } ?> 
     <?php if(isset($_GET['record'])){ ?> 
      <input type="hidden" name="record" value="<?php echo $_GET['record']; ?>" /> 
     <?php } ?> 
     <div> 
      <label for="name">Navigation</label> 
      <input id="name" name="navigation" type="text" value="<?php echo $navigation ?>" /> 
     </div> 
     <div> 
      <label for="message">Content</label> 
      <textarea id="content" name="content" cols="" rows="" ><?php echo $content ?></textarea> 
     </div> 
     <div> 
      <input id="send" name="send" type="submit" value="Save and update" /> 
     </div> 
     </form> 
    </div> 
    </div> 
</div>