0

画面(m1、m2、またはm3)に印刷されないのはなぜですか?

つまり、JavaScript変数をPHPセッションに渡すにはどうすればよいですか。

<?php session_start(); ?>

<html>
<head>

<script type="text/javascript">
function disp_text()
   {
      var p = document.myform.mylist.value;
      <?php $_SESSION['color'] ?> = p;
      <?php echo $_SESSION['color'] ?>;
   }
</script>

</head>
<body>

<FORM NAME="myform">
<SELECT NAME="mylist" onChange="disp_text()">
<OPTION VALUE="m1">Red
<OPTION VALUE="m2">Blue
<OPTION VALUE="m3">Green
</SELECT>
</FORM>

助けてくれてありがとう。

4

3 に答える 3

5

そしてもう1つは...JavaScriptはユーザーのコンピューターで実行され、PHPはサーバーで実行されます。ページソースを表示し(右クリック、[ソースの表示])、それが機能しない理由を正確に確認できます。

<script type="text/javascript">
function disp_text()
   {
      var p = document.myform.mylist.value;
      = p;
      ;
   }
</script>

JS変数をPHPに取り込む唯一の方法は、フォームを使用することです(AJAXを含めるために大まかに使用しています)。

于 2012-06-30T14:40:29.360 に答える
0

これを試して

<html>
<head>
<script type="text/javascript">
function disp_text()
   {
      var e = document.getElementsByName("mylist")[0];
      var p = e.options[e.selectedIndex].value;
      sessionStorage.color = p;
      document.write(p);
   }
</script>
</head>
<body>
<FORM NAME="myform">
<SELECT NAME="mylist" onChange="disp_text()">
<OPTION VALUE="m1">Red</OPTION>
<OPTION VALUE="m2">Blue</OPTION>
<OPTION VALUE="m3">Green</OPTION>
</SELECT>
</FORM>
</body>
</html>
于 2014-04-03T15:36:05.127 に答える
0

index.php:

<script type="text/javascript">
    var time = "OK then, let's do this!";
    sessionStorage.setItem("time", time);
    window.location.href = "test.php";
</script>

test.php

<script type="text/javascript">
    var time = sessionStorage.getItem("time");
    console.log(time);
    <?php $abc = "<script>document.write(time)</script>"?> 
</script>

<?php
    echo $abc;
?>
于 2021-09-29T21:58:39.087 に答える