簡體   English   中英

使用javascript onchange執行php文件

[英]Execute a php file with javascript onchange

我有一個動態創建的dorpdown列表,用戶可以在其中選擇新聞稿。 我正在嘗試使其工作,因此當您從下拉列表中選擇某些內容時,將執行php文件。 我的下拉列表如下所示:

<?php
echo "<select id=\"NieuwsbriefSelect\" name=\"show\" onchange=\"what do I do here???  \">"; 
echo "<option size =30 selected>Select</option>";
if(mysql_num_rows($sql_result)) 
{ 
while($row = mysql_fetch_assoc($sql_result)) 
{ 
echo "<option value=\"$row[Titel]\">$row[Titel]</option>"; 
} 

} 
else {
echo "<option>No Names Present</option>";  
} 
?>

和我的PHP文件看起來像這樣:

<?php 
ini_set('display_errors', 'On'); 
error_reporting(E_ALL); 
?>
<?php
$title = $_REQUEST["show"];
mysql_connect('localhost','root','root'); 
mysql_select_db('NAW') or die (mysql_error()); 
$strSQL = "SELECT Content from NAW.Mail where Titel = '".$title."' ";

$sql_result = mysql_query($strSQL); 

$row = mysql_fetch_assoc($sql_result);  


$file = 'nieuwsbrief.txt';

$current = urldecode($row["Content"]);

file_put_contents($file, $current);
?>

當前是這樣的:$ title = $ _REQUEST [“ show”]; 無法正常工作,並給出錯誤未定義索引:顯示。 所以基本上我有兩個問題:
-選擇簡訊后,如何執行php文件?
-如何根據我選擇的新聞通訊從數據庫中獲取正確的數據?

我已經嘗試了一些在其他論壇等地方找到的示例的方法,但是由於我幾乎沒有使用javascript的經驗,因此無法進行任何工作。 如果有人能給我一個例子或向正確的方向推我,那將是很棒的! 如果您還有其他問題,請以評論為准!

注意我知道mysql_ *已過時,一旦一切正常,我將更改為PDO!

在這條線

echo "<select id=\"NieuwsbriefSelect\" name=\"show\" onchange=\"what do I do here???  \">";

您應該將JavaScript代碼放在onchange=""屬性中。

例如,您可以調用一個函數,將其命名為changeSelect() ,它將(我認為)加載php文件的內容。 您可以通過Ajax完成。 我將不做更多解釋,因為該主題涉及面很廣,您需要進行更多研究。

我建議,如果您將更改為PDO或mysqli,則可以通過$_GET (而不是$_REQUEST )傳遞titel變量。 例如,您的changeSelect()函數可以通過"myfile.php?titel="+document.getElementById("NieuwsbriefSelect").value或類似名稱來調用您的php文件(例如:“ myfile.php”)。

使用ajax的簡單方法。

 <?php
echo "<select id=\"NieuwsbriefSelect\" name=\"show\" onchange='hello(value)'>"; 
echo "<option size =30 selected>Select</option>";
if(mysql_num_rows($sql_result)) 
{ 
while($row = mysql_fetch_assoc($sql_result)) 
{ 
echo "<option value=\"$row[Titel]\">$row[Titel]</option>"; 
} 

} 
else {
echo "<option>No Names Present</option>";  
} 
?>

比JavaScript文件是這樣的

   function hello(value)
{
    var xmlhttp;

    if(window.XMLHttpRequest)
    {
        xmlhttp = new XMLHttpRequest();

    }
    else
    {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if(xmlhttp.readyState==4)
        {
            //nothing is here because you want to put the result in file
        }
    }
    xmlhttp.open("GET","yourphpcode.php?val="+value,true);
    xmlhttp.send();
}

嘗試這個
如果我沒有運行代碼而出現問題,請問好

暫無
暫無

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

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