Discussion:
請問要如何將javascript內的值傳到php內
(时间太久无法回复)
jiing
2005-02-17 09:24:21 UTC
Permalink
我沒有學過Javascript,純粹在網路上剪剪貼貼


<script language="JavaScript">
function confirmDelete{
re = confirm("確定要刪除嗎?(確定=刪除,取消=不消)");
if (re == "0"){<?php $re1 = 0;?>}else{ <?php $re1 = 1;?>}
<!--上一行去掉視窗才會出現--!>
return 0;
}
document.writeln(confirmDelete());
</script>
<?php
echo "\$re1 = $re1";
?>

請問
1. 要怎麼做才能把JavaScript裡的re值傳到 php裡的$re1
2. 要怎麼改確認視窗才會出現,又能正確傳值

謝謝
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已相簿 http://www.wretch.cc/album 有佈景主題 速度很快 可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止可以 h163.141.74.211.seed.net.tw海
anton
2005-02-17 09:49:52 UTC
Permalink
※ 引述《jiing24 (jiing)》之銘言:
Post by jiing
我沒有學過Javascript,純粹在網路上剪剪貼貼
<script language="JavaScript">
function confirmDelete{
re = confirm("確定要刪除嗎?(確定=刪除,取消=不消)");
if (re == "0"){<?php $re1 = 0;?>}else{ <?php $re1 = 1;?>}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
所以 php 執行的結果是 $re1=1 (php 直接跑了)

這裡原post把php跟 js 混在一起做撒尿牛丸了
Post by jiing
<!--上一行去掉視窗才會出現--!>
return 0;
}
document.writeln(confirmDelete());
</script>
<?php
echo "\$re1 = $re1";
且 php 並不會秀 js 的變數

Orz
Post by jiing
?>
請問
1. 要怎麼做才能把JavaScript裡的re值傳到 php裡的$re1
2. 要怎麼改確認視窗才會出現,又能正確傳值
謝謝
--
"我叫胡真,6歲出來擦鞋貼補家計,8歲賣血救老母,
10歲大專聯考得第一,15歲得十大傑出青年獎。
我覺得自己高大英俊,葉子媚是個賢妻良母,
兩百塊最聰明,戈巴契夫頭髮最長,海珊總統最不愛打仗!"
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已BLOG http://www.wretch.cc/blog 安西教練 我想寫日記 嗚嗚o志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天下 203.70.36.8海
大一新鮮人
2005-02-17 13:00:08 UTC
Permalink
※ 引述《jiing24 (jiing)》之銘言:
Post by jiing
我沒有學過Javascript,純粹在網路上剪剪貼貼
<script language="JavaScript">
function confirmDelete{
re = confirm("確定要刪除嗎?(確定=刪除,取消=不消)");
if (re == "0"){<?php $re1 = 0;?>}else{ <?php $re1 = 1;?>}
<!--上一行去掉視窗才會出現--!>
return 0;
}
document.writeln(confirmDelete());
</script>
<?php
echo "\$re1 = $re1";
?>
請問
1. 要怎麼做才能把JavaScript裡的re值傳到 php裡的$re1
2. 要怎麼改確認視窗才會出現,又能正確傳值
謝謝
事實上PHP網頁是在伺服端(server)執行完畢,然後才把結果傳給客戶端(client),
客戶端收到的結果可能包含需要由瀏覽器直譯的描述性程式(script),例如JavaScript。
也就是說,已經傳到客戶端的網頁是無法再讓PHP執行,
除非再向伺服器提出需求(request),然後再傳一次網頁回客戶端。

在下覺得你可以寫成類似這樣:
<script language="JavaScript">
function confirmDelete(){
b=confirm("您確定要刪除嗎?");
if(b==false) location.href="remove.php?rel=0";
else location.href="remove.php?rel=1";
}
confirmDelete();
</script>

然後網頁會被導向至 remove.php ,這時,我們就可以在 remove.php 中用get方法,
讀到 $rel 的值,例如使用: $_GET['rel'] 或 $rel (看php.ini的設定)。

另外一個方法是這樣:
<script language="JavaScript">
function confirmDelete(){
b=confirm("您確定要刪除嗎?");
if(b==false) document.ha.rel.value="0";
else document.ha.rel.value="1";
document.ha.submit();
}
confirmDelete();
</script>
<form name="ha" method="post" action="remove.php">
<type="hidden" name="rel" value="">
</form>

這方法可以用post也可以用get,看form的method屬性設定,
網頁仍會被導向至 remove.php ,
然後就可以由 remove.php 存取 $rel 或 $_GET['rel'] 或 $_POST['rel']變數。

如果我說錯了,麻煩各位大大指教。
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已BBS telnet://bbs.wretch.cc 開個人板 超快 不用連署不可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止220-137-135-45.dynamic.hinet.net海
Loading...