选择选项更改时执行脚本

时间:2013-04-02 12:57:20

标签: javascript html onchange

我有一个html表单,其中包含一个动态创建的dorpdown列表。下拉列表包含存储在MySQL数据库中的新闻稿的名称。我希望下拉列表要做的是:当我选择一个时事通讯时,将激活其他PHP脚本,该脚本将从我的数据库中的新闻稿中获取数据并将其写入.txt文件。我目前的代码是:

下拉列表:

<?php
    echo "<select id=\"NieuwsbriefSelect\" name=\"show\">"; 
    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
$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 = $row["Content"];

file_put_contents($file, $current);
?>

我不希望页面重定向到写脚本而只是执行它(我希望你得到这个^^)。这可能是使用HTML onChange事件还是我必须使用javascript?任何帮助都会很棒,如果您对我的代码有疑问,请在评论中提问!

注意!
我知道我不应该使用Mysql_ *并且我很容易受到sql注入,但这不是重点。

2 个答案:

答案 0 :(得分:0)

您需要在SELECT选项上定义onchange事件,并在此onchange事件中,您可以重定向到包含所选项的另一个页面或对另一个PHP脚本执行AJAX调用

答案 1 :(得分:0)

不幸的是,没有JavaScript,你所要求的是不可能的。 PHP 是服务器端语言,因此无法在没有客户端浏览器调用的情况下运行。您最好的选择是将 ajax 与JavaScript onchange事件结合使用。发生更改事件时,向服务器发出ajax调用以使用所选选项运行脚本。这是在没有页面重新加载或重定向的情况下执行您所要求的唯一方法。