如何在没有提交按钮php的情况下将此下拉菜单的选定选项保存到会话中

时间:2015-07-05 22:13:14

标签: php session

我没有运气就经历了几个相关的问题。我想将下拉菜单中选择的选项保存到$ _SESSION []而不使用提交按钮,因为我必须在提交表单之前将所选选项放入多个页面。没有使用java脚本的任何帮助

<form method="post" action="consel.php">
<?php
$sql = "SELECT * FROM games WHERE startunix > '$nowtime' ORDER BY starttime LIMIT $offset, $rowsperpage" ;
$retval = mysql_query($sql);
   while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
      {
       echo "<div align='center'><span class='style3'>{$row['home']} VS ".
       "{$row['away']} </span></div>".
       "<font color='#000000' size='2'>{$row['country']} | {$row['league']} | Time:{$row['starttime']} </font> <br> ".
     "<select name='gm[$row[gamecode]|$row[starttime]|$row[home]|$row[away]]' >
     <option value=''>Select option</option>
                <option value='1'>YES</option>
                <option value='2'> NO</option>
                <option value='3'>Total Goals</option>
                <option value='4'>Total </option>
                <option value='5'>Goals</option>

         </select>".
     "<hr>";
                }
   ?>
  <input type="submit" name="play" value="Calculate" />
   </form>

1 个答案:

答案 0 :(得分:0)

首先,这是与您的php文件交互的ajax脚本。在这里,我将我的名字命名为yesno.php,并将响应命名为我的html页面上的空div。

        <script>
        function session () {
            var xmlhttp = new XMLHttpRequest ();

            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById('response').innerHTML = xmlhttp.responseText;
                }
            }

            xmlhttp.open ('GET', 'yesno.php?value='+document.getElementById('id_of_select_field').value, true);
            xmlhttp.send ();
        }
    </script>

然后在您的选择选项中,您只需添加一个事件处理程序,如

<select id="id_of_select_field" onchange="session()">
    //options
</select>

在您的代码中,选择字段没有附加ID,因此请添加一个并将ajax( id_of_select_field )中的ID更改为该ID。

所以在你的yesno.php上你只需用

获取值
$value = $_GET['value'];

并继续使用您的代码。