作者 主題: 同一個頁面javascript 傳值給PHP ?  (閱讀 12105 次)

0 會員 與 1 訪客 正在閱讀本文。

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
同一個頁面javascript 傳值給PHP ?
« 於: 2011-08-24 14:44 »
想要在同一個頁面 把javascript 的值傳給PHP,透過Javascript variable 傳給 Form variable ,
再由Form variable 傳PHP variable
可是在PHP一直沒取到值,請問我在同一頁的PHP用post接可以嗎?

page1.php
代碼: [選擇]

             <script>

function showAppletMsg(str) {
document.getElementById('MSg').innerHTML = str;  //接收由applet傳回的訊息

document.InfoPassed.PhpVariable.value = str.length;//訊息長度隱藏在form裡PhpVariable
document.InfoPassed.submit();  //加了這行,頁面一直在跳動,好像一直在傳值????

}
              </script>
              <form name="groovyform" >  //按鈕執行applet
                  <input type="button"  name="groovybtn1"  id="btn" class="groovybutton"
          value="Begin" onMouseOver="goLite(this.form.name,this.name)"             
                  onMouseOut="goDim(this.form.name,this.name)"
                  onclick="this.disabled=1; document.getElementById('applet1').go();"   >
      </form>

                <applet id="applet1" code="myapplet.class" name="myapplet" width="0" height="0" >
      <PARAM NAME=parm1 VALUE='number'>
        </applet>
           
                <form name="InfoPassed" action="page1.php" method="post"  target="_self">
       <input type="hidden" name="PhpVariable" value="">
</form>
<?php

if(isset($_POST["PhpVariable"])){  //接收js傳來的訊息????
$value $_POST["PhpVariable"];
                         echo 
$value;
}
?>




« 上次編輯: 2011-08-24 20:37 由 NARs »

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
Re: 同一個頁面javascript 傳值給PHP ?
« 回覆 #1 於: 2011-08-25 10:44 »
form 沒 post ,url 沒 reload 是沒有傳值出去的
--
有兩個方法
1.ajax

2.塞一個 frame 放 form 進去然後將 form submit

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
Re: 同一個頁面javascript 傳值給PHP ?
« 回覆 #2 於: 2011-08-25 16:20 »
用submit可以嗎?
我想要在同一個頁面 , 當頁面載入完畢時,把javascript 的值傳給PHP,透過Javascript variable to Form variable再Form variable to PHP variable
可是一直沒取到值,請問是那裡錯了嗎?


代碼: [選擇]

if (document.addEventListener) {
alert("document.addEventListener");

document.InfoPassed.submit();
  } else {
  alert("none document.attachEvent");

  }

 <form name="InfoPassed" id="InfoPassed"  action="page1.php" method="post"  >
<input type="text" name="PhpVariable"/>

</form>

<?php
if(isset($_POST["formvar"])){
 $value $_POST["formvar"];
                        echo  
$value;
}
?>


micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
Re: 同一個頁面javascript 傳值給PHP ?
« 回覆 #3 於: 2011-08-25 18:00 »
不行....form submit 就會跑到 page1.php

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
Re: 同一個頁面javascript 傳值給PHP ?
« 回覆 #4 於: 2011-08-25 20:01 »
page1.php就是目前執行的這頁...不行嗎?

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
Re: 同一個頁面javascript 傳值給PHP ?
« 回覆 #5 於: 2011-08-26 10:29 »
form post  出去後, 會將資料丟給 page1.php 然後, 瀏覽器會跟據 page1.php 的內容重新 render

做一個 page2.php <?php print_r($_POST); ?>
form action 改成 page2.php 試試就會了解了
--
基本的網頁基礎還是要了解一下

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
Re: 同一個頁面javascript 傳值給PHP ?
« 回覆 #6 於: 2011-08-27 00:28 »
不是 try action ...
應該是 target ...

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
Re: 同一個頁面javascript 傳值給PHP ?
« 回覆 #7 於: 2011-08-30 17:19 »
不是 try action ...
應該是 target ...
target 是指開到那個 window...  action 是指  form 的資料 post 到那一個 php , jsp ...etc.