2012-05-02 76 views
0

我有一個簡單的表單,它具有選擇下拉菜單。當從菜單中的項目的選擇,我的事業表單提交......做這個代碼是:在選擇價值時提交表單,我如何識別表單處理中的提交事件

<select name="some name" onchange="this.form.submit"></select> 

現在,如果正在使用一個提交按鈕提交此表(說NAME =「submitForm」)那麼我只是這樣做:

if($_POST['submitForm'] == 'submit')然後去做依賴於表單提交的處理。

但是,由於沒有提交按鈕每說,我如何獲得相當於$ _POST ['some name'] =='submit'? (這顯然是不正確的)

謝謝了!

回答

1

添加一個名爲submitForm和價值submit一個隱藏的輸入字段內<form></form>標籤。

<input type="hidden" name="submitForm" value="submit" /> 
0

檢查在$ _POST所有其他按鈕。如果他們都沒有被髮送,這意味着JS被用來提交表單。就那麼簡單。 :)

+0

這是JS做的嗎?我的想法是這是DOM腳本...還,選定的價值的下拉,我可以回顯出來,這意味着形式被提交 – user1020069

0

您可以創建一個隱藏字段可以貼說NAME =「processMode」值=「部分|提交」

1

,如果你有象下面這樣的形式,讓說index.php

<form method='POST' action="index.php"> 
     <input type='text' name='input1' /> 
     <input type='submit' name='test' style="display: none;" /> 
     <select id="selSubmit" name='submit_option' onchange="this.form.submit()"> 
     <option>Option 1</option> 
     <option>Option 2</option> 
     </select> 
    </form> 

要檢查表單是否提交,您可以檢查字段是否爲空$_POST['one of the field'] != ''而不是正常提交​​$_POST['name of form']

 <?php 
     if($_POST['input1'] != '') || $_POST['submit_option'] != ''){ 
      print_r($_POST); 
     } 

    ?> 

或者您可以像Bibhas建議的那樣使用隱藏字段來定義一個值。

+0

更新的答案,似乎字段設置:) – Bob