簡體   English   中英

如何將javascript參數傳遞給php

[英]How to passing javascript parameter to php

我彈出模態窗口,並從myFrom獲取數據並將電子郵件字段值保存到index.php javascript 中。 如何將 javascript 值解析為 php 並使用 echo 顯示它,而不刷新index.php窗口?

索引.php

<script type="text/javascript">

function opennewsletter()
{   emailwindow=dhtmlmodal.open('EmailBox', 'iframe', 'newsletter.php', 'Newsletter Signup page', 'width=350px,height=200px,center=1,resize=0,scrolling=1')

    emailwindow.onclose=function()
    { //Define custom code to run when window is closed
        var theform =this.contentDoc.forms[0] //Access first form inside iframe just for your reference
        var  a = this.contentDoc.getElementById("emailfield").value; //Access form field with id="emailfield" inside iframe

        return true //allow closing of window   
    }

} //End "opennewsletter" function

</script>
<a href="#" onClick="opennewsletter(); return false">Signup for our newletter</a> 
<?php
    $value = a;  //I want above javascript variable 'a' value to be store here
    echo $value;
?>

時事通訊.php

<h4>Sign up for our newsletter!</h4>
<form id="myform" name="myform" method="post" >
  <p>Enter your email address please:<br>
  <input type="text" id="emailfield" name="emailfield" size="30" />
  <input type="submit" id="submit" name="submit"  value="Ok" onClick="parent.emailwindow.hide()" /></p>
</form>

我想可能需要對服務器端-客戶端架構有所了解。

通常你在瀏覽器中輸入一個 url,這會在服務器中觸發一些 PHP(和其他服務器端)代碼在執行任何 javascript 代碼之前很久在服務器中遠程執行,然后,結果,它通過 http 連接發送一些資源,在這種情況下是一個帶有一些 javascript 代碼的 html 頁面......把它想象成一些通過連接發送的文本。

然后 - 通常 - PHP 代碼完成。

之后,http 連接器發送的 html 文件到達客戶端瀏覽器,客戶端瀏覽器打開它,繪制它並運行 javascript 代碼。

您不能將變量從 javascript 發送回原始 php 執行實例,因為不存在。

相反,您需要從瀏覽器再次調用服務器上的其他 url,幸運的是,它會在不同的執行實例中運行相同或其他 php 代碼。 如果您將 a 的值作為參數附加到 url 請求,則該值將在 PHP 代碼中接收,然后您可以在服務器端使用它。

有很多方法可以打開/調用服務器端 url 來執行此操作,例如可以使用 AJAX: https : //en.wikipedia.org/wiki/XMLHttpRequest

此外,您還需要從附加到 url 請求的客戶端 javascript 代碼發送參數,然后在 php 代碼開始運行時在服務器端接收它。 使用 PHP檢查例如jQuery Ajax POST 示例

另請注意,我提到了“通常”。 有一些方法可以制作一些黑暗魔法並交換,改變,變形服務器端 - 客戶端的“通常”流程......有框架和技巧,但首先可能更好地理解“通常”流程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM