-2

私は最初の選択オプションを持っています

  <form id="infform" method="post">
      <select id="infmenu" name ="infmenu" size="1" class="select"  >
        <option value="0" >Please Select your article</option>
        <option value="3"  selected='selected' > value 1</option>
        <option value="2"  > value 2</option>
        <option value="18"  > value 3</option>
        <option value="16"  > value 4</option>
     </select>
   <input type="hidden" name="hiddenselect" value="3" />
  </form> 

そして2番目は

     <form action="" method="POST" id="form0">
        <input type="text" name="date0" class="tcal" value="" readonly="readonly" /><br />
        <input type="image"   src="../submit.png"/>
        <input type="hidden" name="submit0" />
     </form>

これは私のJavaScriptです

     function displayv() {
    var singleValues = $("select option:selected").text();
    $("#hiddenselect").val(singleValues);

    $("select > option:first").prop("disabled", "disabled")
  }

$(document).ready(function(){
    $("select").change(function() {
        displayv();
    });
    displayv();

    $("select#infmenu").change(function() {
        $("#infform").submit();    
    });
});

最初のオプションを選択すると、ページが更新され、選択した値が表示されます。2番目の送信を送信すると、ページが更新され、最初の選択オプションは空を返しますPlease Select your article

したがって、これをどのように修正する必要がありますか。

編集:これは私がそれらの間でどのように扱うかというphpです。

 if (isset($_POST['infmenu'])){

  $infmenu = $_POST['infmenu']; 
     // some sql of updating here
    }

  if (isset($_POST['submit0'])){
     //some updating sql here
      }
4

3 に答える 3

3

あなたの質問が本当に何であるかは私にははっきりしません。

2 番目のフォームを送信したときに選択項目の値が表示されないと言っている場合、それは正常であり、予期されていることです。2 つの独立したフォームがあるため、2 番目のフォームを送信すると、最初のフォームのデータはサーバーに送信されません。

送信ボタン /image は、独自のフォーム内の入力用のデータのみを送信し、html body タグ内の他のフォームからのデータは送信しません。

追加するために編集:あなたができる:

  • 2 つではなく 1 つのフォーム タグを持つ
  • jquery を変更して、select 値を 2 番目のフォームの隠しフィールドと最初のフォームの隠しフィールドに入れるようにします。次に、2 番目のフォームが送信されたら、PHP スクリプトに非表示フィールドの値を読み取らせ、HTML をレンダリングするときにそれを使用して、選択した属性を持つオプションを決定します。
  • 一部の JavaScript で Cookie を使用して、select の値が変更されたときに Cookie を設定する
  • Ajax を使用して部分的な送信を行う - 2 番目のフォームを処理するときにサーバーが選択項目の値を知る必要がないことを前提としています。

于 2012-08-27T20:35:10.707 に答える
0

action=""最初のボタンには割り当てられていません。

于 2012-08-27T20:16:12.137 に答える
0

2 つのフォームがあります。

2 番目のフォームで送信をクリックすると、もちろん 1 番目のフォームのデータは送信されません。

また、2 番目のフォームの送信ボタンには名前がないため、ボタンがクリックされた場合に PHP で評価できない可能性があります。でもそれは別の話

2 つの形式を 1 つにする必要があります。

ページ上でそれらが離れすぎている場合。php を使用して、2 番目のフォームの非表示フィールドに選択ボックスの値を保存する必要があります。

于 2012-08-30T10:23:08.900 に答える