2017-03-03 4 views
0

私のDIVタグ内の最初のPHPページに2番目のPHPページを表示できます。 問題は、ユーザーがドロップダウンリストから番号を選択し、[送信]ボタンをクリックしなければならないことです。ユーザーがsubmitをクリックすると、second.php?test = $ vrをロードして2番目のPHPページを表示します。しかし、$ vrが間違って渡されるので、それはうまくいきません。DIVで他のPHPページ内にPHPページを表示し、URLに動的変数を渡す

短く:選択した番号をスクリプトのURLに渡すことができません。

コード:ユーザーが選択し、[編集]をクリックしてい

<script type="text/javascript"> 
$(function() { 
// Handler for .ready() called. 
$('#SubmitForm').submit(function(event) { 

$.ajax({ 
     $val = $_POST['test']; 
     url: 'second.php?index=$vr', ///second.php?index=1 <- this works but i need a var because its dynamic. 
     type: 'POST', 
     dataType: 'html', 
     data: $('#SubmitForm').serialize(), 
     success: function(content) 
     { 
      $("#DisplayDiv").html(content); 
     } 
}); 

event.preventDefault(); 
}); 

}); 
</script> 

ドロップリスト

<div id="page"> 
    <form id="SubmitForm" method="post" action="<?php echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>"> 
     <div id="SubmitDiv"> 
      <select name="index" required> 
      <?php 
      while($t = $results->fetchArray()){ 
       echo '<option value="'.$t.'">'.$c.'</option>'; 
      } 
      ?> 
      </select> 
       <button type="submit" class="btnSubmit">edit</button> 
     </div> 
    </form> 
    <div id="DisplayDiv"> 
    </div> 
</div> 
+0

ビジュアル化を容易にするためにページのスクリーンショットを追加しますか? – pal4life

+0

うまくその数だけのドロップリスト。私はちょうど私のスクリプトJSのURLに変数を正しく渡す必要があります。 – PHPstudent

答えて

0

まず、これはあなたが簡単にユーザー値にアクセスすることができますあなたの選択ボックスにIDタグを与えます例えば、選択した:

<div id="page"> 
    <form id="SubmitForm" method="post" action="<?php echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>"> 
     <div id="SubmitDiv"> 
      <select id="myselect" name="index" required> 
      <?php 
      while($t = $results->fetchArray()){ 
       echo '<option value="'.$t.'">'.$c.'</option>'; 
      } 
      ?> 
      </select> 
       <button type="submit" class="btnSubmit">edit</button> 
     </div> 
    </form> 
    <div id="DisplayDiv"> 
    </div> 
</div> 

をその後に、あなたのAjaxのクエリを変更します

var foo = $("#myselect").val(); // this is the value selected by user 
$.ajax({ 
    url: 'second.php', 
    data: { 
     index: foo 
    }, 
    success: function(content) 
    { 
     $("#DisplayDiv").html(content); 
    } 
}); 
+0

ありがとうございました:)私は問題の理解に苦しんでいます。時には値を保存するために名前タグを使用しますが、ここではIDを使用しましたか? – PHPstudent

+0

問題ありません。 :) IDタグを使用すると、JSを介してページ内の任意の場所から値を取り出すことができますが、すべてが一意でなければならないので、名前を付けることに注意する必要があります。名前タグはフォーム内で使用され、フォーム全体がサーバーに送信されるときに値にアクセスできます。重複は別々の形式である限り重要ではありません。 explainationのための – Juned

+0

クールな感謝:) – PHPstudent

関連する問題