酷!學園
技術討論區 => 網頁技術 => 主題作者是: NARs 於 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;
}
?>
-
form 沒 post ,url 沒 reload 是沒有傳值出去的
--
有兩個方法
1.ajax
2.塞一個 frame 放 form 進去然後將 form submit
-
用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;
}
?>
-
不行....form submit 就會跑到 page1.php
-
page1.php就是目前執行的這頁...不行嗎?
-
form post 出去後, 會將資料丟給 page1.php 然後, 瀏覽器會跟據 page1.php 的內容重新 render
做一個 page2.php <?php print_r($_POST); ?>
form action 改成 page2.php 試試就會了解了
--
基本的網頁基礎還是要了解一下
-
不是 try action ...
應該是 target ...
-
不是 try action ...
應該是 target ...
target 是指開到那個 window... action 是指 form 的資料 post 到那一個 php , jsp ...etc.