JavaScriptからPHPの変数に受ける方法

このQ&Aのポイント
  • JavaScriptのグローバル変数をPHPの変数に受ける方法を教えてください。
  • カレンダーの<td>要素をクリックしたときの日にちの番号をPHPの変数で受けたいです。
  • echo '<td valign="top" height="50" align="center" class="smallText">'.$user.'</td>'; の部分で、<td>要素にユーザー名を表示しながら、日にちの番号を受け取る方法を教えてください。
回答を見る
  • ベストアンサー

javascriptの変数をPHPの変数で受ける

下記のようなjavascript において、グローバル変数clicked の値を PHPの変数$clickedで受けたいのですが、どうすれば受け取れるでしょうか? var_dump()してみると、undefinedや、NULLと表示されます。 要は、カレンダーの<td>要素をクリックしたときの日にちの番号を PHPの変数で受けたいのです。 echo '<tr id="calheader" bgcolor="#ffffcc">'; for($i=1; $i<=7; $i++){ echo '<td valign="top" align="center" class="smallText" id="'.$i.'" onclick="pusharea(this);">'.$i.'</td>'; <script language="javascript"> <!-- var clicked; // グローバル変数 function pusharea(obj){ clicked = obj.id; } // --> </script> </head> ----------------------------------------------- <script language="javascript"> alert(clicked); // <?php echo $clicked;?>=clicked; </script> <?php var_dump($clicked); echo '<tr>'; for($i=1; $i<=7; $i++){ /*if($i===$clicked)*/ echo '<td valign="top" height="50" align="center" class="smallText">'.$user.'</td>'; //else echo '<td valign="top" class="smallText">&nbsp;</td>'; } echo '</tr>';

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#1さんのご回答の通り PHPはサーバーでの事前処理、JavaScriptはクライアント(ブラウザ)での処理です。 よって、コーディングの順番に実行される訳ではなく、 また同じメモリ(同じ変数)にアクセスできる訳ではありません。 なので、ブラウザで実行するJavaScript内でclicked = obj.id;  としても PHPでそれをそのまま、if($i===$clicked)なんていうように 使うことはできません。 ★もし、サーバー側でないと処理できない内容であるなら 1) function pusharea(obj)の中で、jQueryの$.ajax でパラメータにobj.idを渡して Ajax手法で画面の推移とは非同期にPHPを実行し、その戻ってきた値で 動的にHTMLを変更するというが簡単だと思います。 ★Ajax的に画面を随時更新したいのではなく、別途 次の画面に進むための submitボタンなりがあって、そのときにクリックしていた場所を一緒に送りたい ということなら 2) function pusharea(obj) のなかで、document.cookie = "clicked="+obj.id +";"の ようにしてcookieに値をセットしておけば、 それをPHP側で $_COOKIE["clicked"] で取り出すことができます。 3) 大きめのデータの場合、cookieは向きませんので、 PHPに送信するためのform内にHiddenデータを JavaScriptで追加するという手法もあります。 この場合、PHP側では $_GET[なんちゃら] か$_POST[なんちゃら]で取り出すことになります。 4) 項目が多いなら、Ajaxとセッションを使ったほうが簡単かもしれません。 (Ajaxは非同期なので復数のAjaxの実行が並行することがあるので  サーバー側でセッションファイルをロックしないようにするテクニックが必要なようです) 5) 画像なりテキストをクリックした場所でなくて、 チェックボタンなり ラジオボタンなりを 設置しほうが、利用する側にも どれを選択しているかが、わかりやすいかも。 ★サーバー側のPHPでないと処理できない内容でないなら 6) PHPでなく、JavaScriptで作るだけ。 ということになるかと。

beterugius
質問者

お礼

大変詳しいご回答、どうも有難うございました。

beterugius
質問者

補足

superside0 様の(2)の手法で実現したいと思います。 できましたら、ご報告したいと思います^^ どうもありがとうございました。

その他の回答 (1)

  • sanzero
  • ベストアンサー率56% (58/102)
回答No.1

phpはサーバーでの処理、javascriptはクライアントでの処理です。 ブラウザで表示された時点でphpの処理は終了しているので、この場合javascriptから値を渡す意味がありません。 (postやget, cookieで渡すという手もありますが) クリックしたtdの表示を変えたいだけならjavascriptでのみでやりましょう。

beterugius
質問者

お礼

ご回答いただき、ありがとうございました。

関連するQ&A

  • javascriptへのphp変数受け渡し(コンボボックスの作成)

    こんにちは。 いつも皆さんの回答を参考にさせていただいております。 現在、phpで開発を行っているのですが、javascriptでの処理について行き詰ってしまったのでご質問させていただきたいと思います。 過去の質問や他のサイトでも同じような内容があり申し訳ないのですが、 理解ができませんでしたのでアドバイスを頂きたいです。 【やりたいこと】 ・phpファイル内で、javascriptによる二つの連動したコンボボックスの作成。 ・コンボボックスの内容をDBから取得し、動的にコンボボックスの内容を変更させる。 【現在】 ・DBからデータを取得し、javascriptでループをまわしたい変数を作成するところまでできました。 ・phpで作成した値をjavascriptでループさせるところで止まっています。 コードは以下の通りです。サンプルとして取得してきたjavascriptもそのまま記載しています。 *************************************************** <?     //DBからデータを取得 $strSql = $dbSqlObj2->selectGyomuAllSortedGyomu(); $result_gyomu = $dbExecObj2->exeSql($conn, $strSql); $count_gyomu = $dbExecObj2->getNumRows($result_gyomu); //第一ループの値作成する for($i=0; $i<$count_gyomu; $i++){ ${"gyomu_group{$i}"} = "(".null.",\"".$dbExecObj2->getResult($result_gyomu, $i, "gyomu_name")."\",\"".$dbExecObj2->getResult($result_gyomu, $i, "gyomu_cd")."\")"; } //第二ループの値を作成する     【まだ作れていません】 ?> <script type="text/javascript" src="Select.js" charset="Shift_JIS"></script>【jsファイルを取り込んでいます】 <script language="JavaScript"> <!-- var count=<? echo $count_gyomu ?>;//DBデータのカウントを代入 var box1 = new SelectBox("sb1"); box1.registOption(new SelectOption(null, "都道府県", "0", "color:gray;")); ************【こんな感じでループをしたい】******* for(i=0;i<count; i++){ gyomu_group.i = "<? echo $gyomu_group.i; ?>"; box1.registOption(new SelectOption(gyomu_group.i)); } ********************************************* box1.registOption(new SelectOption(null, "大阪" , "1")); box1.registOption(new SelectOption(null, "京都", "2")); var box2 = new SelectBox("sb2"); box2.registOption(new SelectOption(null, "地区", "0", "color:gray;")); box2.registOption(new SelectOption("1" , "北区", "1")); box2.registOption(new SelectOption("1" , "中央区" , "2")); box2.registOption(new SelectOption("2" , "上京区" , "3")); box2.registOption(new SelectOption("2" , "下京区" , "4")); box1.setChild(box2); window.onload = function() { box1.make(null); }; --> </script> <? <table> <tr><td width="100" valign="top"> <span class="fBlack10100">都道府県:</span></td> <td><select id="sb1" name="dodofuken_cd" onchange="box2.make(this.value);"></select> </td></tr> <tr><td width="100" valign="top"> <span class="fBlack10100">地区:</span></td> <td><select id="sb2" name="chiku_cd"></select> </td></tr> </table> ?> *************************************************** 分かりつらく、初歩的な質問で申し訳ありません。 是非お力をお貸しください。 宜しくお願いします。

    • 締切済み
    • PHP
  • JavaScriptにPHPの変数

    どちらで質問しようか迷いましたけど^^; PHPでの変数をJavaScriptに移動(?)できないのでしょうか? $abs = 30; setTimeout("location.href='abc.php?var=<? echo $abc;?>'",1000*40); このような形で移したいのですが、これはできないのでしょうか?

    • ベストアンサー
    • PHP
  • javascriptの変数の渡し方

    ラジオボタンで選択した値によって表示するテーブルを変えるフォームを作っています。 AAAは入力ボックスが1つ BBBは入力ボックスが2つ 同じphpへ送信して、入力ボックスへデータは入るのですが、javascriptの値を渡すことが出来ません。 BBBでsubmit後、BBBの入力ボックスを表示することは出来ますでしょうか。 <? echo "<form method=post action=?>"; echo "<input type=radio name='user' onclick='change_user(this.value)' uid='user' value=1"; if($user==1){ echo " checked"; } echo ">AAA"; echo "<input type=radio name='user' onclick='change_user(this.value)' uid='user' value=2"; if($user==2){ echo " checked"; } echo ">BBB"; echo "<br>"; echo "<span id=inner>"; echo "<table>"; echo "<tr>"; echo "<td>AAAのフォーム</td>"; echo "<td><input name=form1 type=text value=$form1></td>"; echo "</tr>"; echo "</table>"; echo "</span>"; echo "<span id=outer>"; echo "<table>"; echo "<tr>"; echo "<td>BBBのフォーム</td>"; echo "<td><input name=form1 type=text value=$form1></td>"; echo "<td><input name=form2 type=text value=$form2></td>"; echo "</tr>"; echo "</table>"; echo "</span>"; echo "<br>"; echo "<input type=submit value=submit>"; echo "</form>"; ?> <script language='javascript'> var inner = document.getElementById('inner'); var outer = document.getElementById('outer'); function change_user (uid) { if (uid == '2') { inner.style.display = 'none'; outer.style.display = ''; } else { inner.style.display = ''; outer.style.display = 'none'; } } change_user(document.getElementById('user').value); </script>

    • ベストアンサー
    • PHP
  • スマホ向け検索サイトのPOST変数について

    <?php session_start(); //////////////////// // POST変数の取得 // //////////////////// if(isset($_POST['login_id'])){ //if($_POST['login_id']!==""){ $login_id = $_POST['login_id']; setcookie("id", $login_id, time()+60*60*24*365); // アカウント用のクッキーの有効期限は一年間 } if(isset($_POST['passwd'])){ //if($_POST['password']!==""){ $passwd = (int)$_POST['passwd']; setcookie("passwd", $passwd, time()+60*60*24*365); } var_dump($_POST['login_id']); var_dump($_POST['passwd']); //////////////////////// // データベースを検索 // //////////////////////// $con = mysql_connect("", "", ""); mysql_select_db(""); mysql_set_charset('utf8'); $sql = "SET NAMES utf-8"; mysql_query($sql); $sql = "SELECT * FROM user_profile;"; $result = mysql_query($sql, $con) or die(mysql_error()); $rowco = mysql_num_rows($result); for($i=0; $i<$rowco; $i++){ $row = mysql_fetch_row($result); // 取得された行に対応する配列を返し、内部のデータポインタを前に進める if($login_id===$row[1] && $password===(int)$row[2]){ // IDとパスワードが両方一致していた場合 $_SESSION['login'] = 1; // ログイン状態にする $_SESSION['login_id'] = $login_id; // メールアドレス header("Location: hospital.php?login=1"); }/*else{ header("Location: login.php"); }*/ } mysql_close($con); // データベースとの接続を解除する //var_dump($row[1]); //var_dump($row[2]); ?> <!doctype html> <html> <head><title>ログインページ</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" type="text/css" href="bootstrap.css"> <script type="text/javascript" src="jquery-2.1.3.js"></script> <link rel="stylesheet" href="jquery.mobile-1.4.5.min.css" /> <script src="jquery.mobile-1.4.5.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/jquery-migrate-1.1.0.js"></script> <script type="text/javascript" src="bootstrap.js"></script> </head> <body> <br> <div class="mojis2"> <?php for($i=0; $i<2; $i++){ echo '&nbsp'; } ?> 美容整形に失敗しないための口コミサイト </div> if($_SESSION['login']!==1){ echo '<a href="shinki.php"><img src="../image/shinki.png" border="0"></a>'; echo '&nbsp;<a href="login.php"><img src="../image/login.png" border="0"></a>'; }else{ // ログインしてれば echo '<a href="mypage.php"><img src="../image/mypage.png" border="0"></a>'; echo '&nbsp;<a href="logout.php"><img src="../image/logout.png" border="0"></a>'; } ?> <br><br> <center> <?php // タブナビゲーション(上部) echo '<div id="centeredmenu2">'; echo '<ul class="nav nav-tabs">'; if($_SESSION['login']===1) echo '<li><a href="hospital.php?login=1">ホーム</a></li>'; else echo '<li><a href="hospital.php?login=0">ホーム</a></li>'; echo '<li class="active"><a href="login.php">ログイン</a></li>'; echo '</ul>'; echo '</div>'; echo '<br>'; ////////////// // 表の表示 // ////////////// echo '<table width="360" cellpadding="0" cellspacing="0" border="0">'; echo '<tr>'; echo '<th rowspan="14" width="360" align="right" valign="top">'; echo '<table width="360" border="0">'; echo '<form name="form1" method="POST" action="login.php">'; //echo '<form name="form1" method="post" action="login.php">'; echo '<tr><td><img src="../image/login_bar.png"></td></tr>'; echo '<tr>'; echo '<td width="360" height="40" class="line1">ログインID(メールアドレス)</td>'; echo '</tr>'; echo '<tr>'; echo '<td width="360" height="40" align="middle">'; echo '<input type="text" class="yokohaba" name="login_id" id="login_id" tabindex="1" value="'.$_COOKIE["id"].'">'; echo '</td>'; echo '</tr>'; echo '<td width="360" height="40" class="line1">パスワード</td>'; echo '</tr>'; echo '<tr>'; echo '<td width="360" height="40" align="middle">'; echo '<input type="password" class="yokohaba" name="passwd" id="passwd" tabindex="2" value="'.$_COOKIE["passwd"].'">'; echo '</td>'; echo '</tr>'; echo '<tr><td width="360" height="40" align="middle">'; echo '<a href="JavaScript:document.form1.submit()" onclick="location.href=\'login.php\'"><img src="../image/login_send.png" border="0"></a>'; echo '</td></tr>'; echo '</form>'; echo '</table>'; ------------------- スマホ向けの検索サイトで、 上記のPHPスクリプトで、var_dump()した値がNULLと表示れます。 DBのデータと、ID,パスが一致したら、トップページにジャンプするようにしたいのですが、 どこがまちがっているのでしょうか?

    • 締切済み
    • PHP
  • PHP内にJavaScript

    下記のようなはじめての訪問者に対してようこそ!と表示するJavaScriptをPHP内で動かすにはどのように記入すればよいのでしょうか? ==================================================== <script language="JavaScript"> var key = "freekeyword"; var n = 0; var cookies = document.cookie.split("; "); for(var i=0;i<cookies.length;i++){ var str = cookies[i].split("="); if(str[0] == key){ // n = str[1]; } } window.onload = function() { if(n == 0){ document.getElementById('welcome').innerHTML = 'ようこそ!'; } n++; setCookie(key,n); } function setCookie(key,val){ document.cookie = key + "=" + escape(val) + "; "; } </script> ==================================================== このスクプリトを下記<head>内にどのように記入すればよいので しょうか? PHPの文法などほとんど分からないレベルなのでそもそも質問 自体間違ってるかもしれませんがPHP内で同様の動作をさせたい のです。よろしくお願いします ==================================================== <?php echo ' <html> <head> </head>'; echo ' <body> <div id="welcome"></div> </body></html>'; ?> ====================================================

    • ベストアンサー
    • PHP
  • PHP PCでログインできたのに、スマホから無理

    PCからは既存アカウントでログインできるのですが、スマホからログインできません。 もちろんスマホ用サイトにも同様のスクリプトを書いております。 PCでは、ブラウザ:Google Chrome スマホのOSは、Android4.3 です。 ログインスクリプトは下記のようなものです。ちなみにこのスクリプトはスマホ用の方です。 -------------------------------------------------------------------------------------------- <?php session_start(); //////////////////// // POST変数の取得 // //////////////////// $login_id = (isset($_POST['login_id']))? $_POST['login_id'] : ""; $password = (isset($_POST['password']))? $_POST['password'] : ""; /* var_dump($login_id); var_dump($password); exit; */ if($login_id!=="" and $password!==""){ //////////////////////// // データベースを検索 // //////////////////////// $con = mysql_connect("~", "~", "~"); mysql_select_db("LAA0471050-shopcart"); mysql_set_charset('utf8'); $sql = "SET NAMES utf-8"; mysql_query($sql); $sql = "SELECT * FROM member_profile;"; $result = mysql_query($sql, $con) or die(mysql_error()); $rowco = mysql_num_rows($result); for($i=0; $i<$rowco; $i++){ $row = mysql_fetch_row($result); // 取得された行に対応する配列を返し、内部のデータポインタを前に進める if($login_id===$row[4] && $password===$row[5]){ // IDとパスワードが両方一致していた場合 $_SESSION['login'] = 1; // ログイン状態にする // setcookie("id", $login_id, time()+60*60*24*365); // アカウント用のクッキーの有効期限は一年間 // setcookie("pass", $password, time()+60*60*24*365); $_SESSION['login_id'] = $login_id; // メールアドレス header("Location: mypage.php?login_id=$login_id"); }else{ // header("Location: login.php"); // echo 'error'; } } mysql_close($con); // データベースとの接続を解除する } ?> <!doctype html> <html> <head><title>ログインページ</title> <meta charset="utf-8"> <!-- ◆ スマートフォン用 --> <meta name="viewport" content="width=device-width, initial-scale=1" /> <!-- jQuery本体--> <script type="text/javascript" src="./jquery/jquery-2.1.3.js"></script> <!-- スマホ用スタイルシート --> <link rel="stylesheet" href="./jquery/jquery.mobile-1.4.5.min.css" /> <!-- スマホ用JavaScript --> <script src="./jquery/jquery.mobile-1.4.5.min.js"></script> </head> <body bgcolor="#FFFFCC"> <br> <?php for($i=0; $i<60; $i++){ echo '&nbsp'; } if($_SESSION['login']!==1){ echo '<a href="membership_form.php"><img src="./images/shinki.png" border="0"></a>'; echo '&nbsp;<a href="login.php"><img src="./images/login.png" border="0"></a>'; }else{ // ログインしてれば echo '<a href="mypage.php"><img src="./images/mypage.png" border="0"></a>'; echo '&nbsp;<a href="logout.php"><img src="./images/logout.png" border="0"></a>'; } ?> <br><br> <?php ////////////// // 表の表示 // ////////////// echo '<center>'; echo '<table width="320" cellpadding="0" cellspacing="0" border="0">'; echo '<tr rowspan="10" width="320">'; // ⇐ このrowspan="14"で、⇒の画像などを幅寄せできる【重要】 echo '<form name="form1" method="post" action="login.php">'; echo '<tr><td><img src="./images/login_bar.png" width="100%"></td></tr>'; echo '<tr><td width="320" height="20" class="line1">ログインID(メールアドレス)</td></tr>'; echo '<tr>'; echo '<td width="320" height="20" align="middle">'; echo '<input type="text" class="yokohaba" name="login_id" id="login_id" size="75" tabindex="1">'; echo '</td>'; echo '</tr>'; echo '<td width="320" height="20" class="line1">パスワード</td>'; echo '</tr>'; echo '<tr>'; echo '<td width="320" height="20" align="middle">'; //echo '<input type="password" class="yokohaba" name="password" id="password" size="75" tabindex="2" value="'.$_COOKIE['pass'].'">'; echo '<input type="password" class="yokohaba" name="password" id="password" size="75" tabindex="2">'; echo '</td>'; echo '</tr>'; echo '<tr><td width="320" height="20" align="middle">'; echo '<a href="JavaScript:document.form1.submit()" onclick="location.href=\'login.php\'"><img src="./images/login_send.png" border="0" tabindex="3" width="100%"></a>'; echo '</td></tr>'; echo '</form>'; echo '</table>'; ?> <br><br> <center><a href="top.php">トップページ</a></center> </center> </body> </html> どこがどう間違っているのか、ご指導お願い致します。

    • 締切済み
    • PHP
  • PHP POSTについて質問です

       こんにちわ PHP初心者です。 今ショッピングカートづくりをしています。 そこでピンチなのでご指導お願いいたします。 商品を発送する送り先情報を必要な数だけonclickで一件一件増やしもらって その情報を次のページで確認してもらうようにしたいのですが <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> var tbl_cnt = 1; jQuery(document).ready(function($) { $('#add_btn').click(function() { var original = $('#form_set_' + tbl_cnt); tbl_cnt++; $(original).clone().insertAfter(original) .attr('id', 'form_set_' + tbl_cnt) .find('label').each(function(idx, obj) { $(obj).attr('for', $(obj).attr('for').replace(/_[0-9]+$/, '_' + tbl_cnt)); }).end() .find('input').each(function(idx, obj) { $(obj).attr({ 'id' : $(obj).attr('id').replace(/_[0-9]+$/, '_' + tbl_cnt), 'name' : $(obj).attr('name').replace(/_[0-9]+$/, '_' + tbl_cnt) }).val(''); }); }); }); </script> <form action="shop_check.php" method="post"> <table id="form1"> <tbody> <tr> <td><label for="okuriname">氏名</label></td> <td><input type="text" id="okuriname" name="okuriname[$i]"></td> </tr> <tr> <td><label for="okuriemail">email</label></td> <td><input type="text" id="okuriemail" name="okuriemail"></td> </tr> <tr> <td><label for="okuripostal1">郵便番号</label></td> <td><input type="text" id="okuripostal1" name="okuripostal1">-</td> <td><input type="text" id="okuripostal2" name="okuripostal2"></td> </tr> <tr> <td><label for="okuriaddress">住所</label></td> <td><input type="text" id="okuriaddress" name="okuriaddress"></td> </tr> <tr> <td><label for="okuritel">電話番号</label></td> <td><input type="text" id="okuritel" name="okuritel"></td> </tr> </tbody> </table> <input type="button" value="送り先の追加" id="add_btn"><br> <input type="submit" value="送信" name="submit"> </form> この後どのようにしたら次のページで 複数の情報を受け取ればいいのでしょうか? (javascriptはweb上にあったものを引用してます。) javascriptの事もわかっていませんなのでお手柔らかにおねがいします。

    • ベストアンサー
    • PHP
  • javascriptとphpの変数のやり取り

    ある該当ページ(mtの検索結果ページ)が拡張子をphpにできず、 <script src=hogehoge.php></script>でphpファイルを読み込んで、 実行したいと思います。 phpを使用している理由はある変数を取得したいのですが、 今回は関係ないので割愛します。 ■以下ソース ・該当ページ(mt-search.cgi) <html> <head> <title>hoge</title> <script type="text/javascript" src="/hogehoge.php"></script> </head> <body> <script> document.write("<p>"+str+"</p>"); </script> </body> </html> ・phpファイル(hogehoge.php) <?php if(test == test){ $str = "成功" }else{ $str = "失敗"; } ?> <script type="text/javascript"> <!-- var str= "<?php echo $str?>"; --> </script> このようにしているのですが、 うまく出力されません。 php側の出力はうまくいっているようなのですが、 ブラウザ側の方でちゃんと変数がわたっていないようです。 画面は真っ白です。 ご教授お願いいたします。

  • php -> javascript 変数渡し

    tempフォルダにtest.txtファイルが存在すれば、 fileフォルダaaa.txtファイル名をbbb.txtファイルに変更という流れです。 変更ボタンをクリックすると、値を$testdataに渡し、ファイル有無をチェックし、ある場合は変数をjavascriptに渡すしますphpの所は問題ありませんが、 javascript処理の所がどうしてもうまくいきません。変数渡しができません。 ネット上でいろいろ調べてみましたがすべてダメでした。 ぜひ、よろしくお願いいたします。 下記はそのコードです。 ファイル名test.php <? $testdata = $_GET["testdata"]; $filename = "C:\\xampp\\htdocs\\test\\file\\temp\\".$testdata; if(file_exists($filename)){//ある場合、変数をjavascriptに渡す $testdata_script = $testdata; }//ここまでは問題ありません。 ?> <!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>テスト</title> <script type="text/javascript"> <!-- function test(file) {       obj = new ActiveXObject('Scripting.FileSystemObject'); var name = '<?php echo $testdata_script ;?>'; alert(name); strMoveFrom = 'C:\\xampp\\htdocs\\test\\file\\aaa.txt'; strMoveTo = 'C:\\xampp\\htdocs\\test\\file\\bbb.txt'; obj.MoveFile(strMoveFrom ,strMoveTo ); obj= null } //--> </script> ...省略 <form action=test.php method=get accept-charset=UTF-8> <input type=submit value=変更 onclick=test('file')> <input type=hidden name=testdata value="test.txt">

  • javascriptにphpの変数を用いる

    JavaScriptでサブウインドウのフォームから親ウインドウのフォームにデータを送るプログラムを書いています。 親ウインドウのページによって処理を変えているのですが、phpの変数を使うと関数自体がエラーになってしまいます。 どう書くのが正しいのでしょうか?教えてください。 プログラムは下記です。 if(page=="0"){ window.opener.document.form_name.input_name.value=input_data; window.close(); } else{   for(i=1; i<6; i++){     var pagename = "page_"+i;     if(page == pagename){ window.opener.document.<?php echo $_GET[form_name]; ?>.<?php echo $_GET[input_name]; ?>.value=input_data; window.close();   } }