2012-05-02 10 views
0

私は選択ドロップダウンメニューを持つ簡単なフォームを持っています。メニューから項目を選択すると、私は、フォームを提出する原因となる...これを実行するコードは次のとおりです。値の選択時にフォームを送信すると、フォーム処理で送信イベントを認識する方法を教えてください

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

このフォームは送信ボタンを使用して提出された場合(名前は=「submitForm」と言います)私は単にこれを行うでしょう:

if($_POST['submitForm'] == 'submit')そして、フォーム提出に依存する処理を行ってください。

しかし、言うごとに送信ボタンがないので、$ _POST ['some name'] == 'submit'に相当するものを取得するにはどうすればよいですか? (これは当然間違いです)

THanks much!

答えて

1

は内<form></form>タグをsubmitFormと値submitという名前の隠し入力フィールドを追加します。

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

$ _POSTの他のすべてのボタンを確認してください。いずれも送信されなかった場合は、JSがフォームの送信に使用されたことを意味します。そのような単純な。 :)あなたが投稿することができます隠しフィールドを作成することができます

+0

これはJSさんですか?私の考えは、これはドムスクリプトです...また、ドロップダウンの選択値は、私はフォームが提出されていることを意味するそれをエコーすることができます – user1020069

0

は、名前は=「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

関連する問題