未能在前端显示“已保存数据”消息

时间:2011-09-15 12:35:09

标签: php javascript

我正在第二页(导出页面)中成功地将所有值从xml转换为CSV。但我想在第一页(座位矩阵)中显示“成功转换数据”的消息。

我无法在seat-matrix.php(第1页)中显示该消息。请帮帮我。

在“Seatmatrix.php”文件中,我有以下代码。

<form name="export" action="export.php">
<input type="submit" name = "export"  value="Export" title ='Exports all the above info to excel'> 
</form> 

在export.php文件中,我有警报功能,并包含了重定向到座位矩阵页面的标题功能,如下所示。

<?php  
echo "
<html>
<head>
<SCRIPT LANGUAGE='javascript'>
function Result() {
alert (\"Data exported successfully\");
}
</SCRIPT>
</head>
<body>
";

// export feature code

echo "<SCRIPT LANGUAGE='javascript'>Result();</SCRIPT>\n";
header('location:Seat_matrix.php');

?>

3 个答案:

答案 0 :(得分:1)

Javascript在浏览器获取之前不会运行。由于标题重定向,它永远不会在浏览器中运行。

最好的办法是设置一个会话变量,然后检查它是否在Seat_matrix.php中设置。如果是,请添加您的javascript。

答案 1 :(得分:0)

您可以使用JavaScript来重定向:

<SCRIPT type='text/javascript'>
    alert ('Data exported successfully');
    window.location = 'Seat_matrix.php';
</SCRIPT>

答案 2 :(得分:0)

更简单的方法是将结果发布回原始页面并进行检查。您需要将代码更改为以下内容:

if (isset($_GET['result']) {
    if ($_GET['result'] == "success") {
        echo "Data exported successfully.");
    }
    else {
        echo "Error exporting data.";
    }
}
<form name="export" action="export.php">
<input type="submit" name = "export"  value="Export" title ='Exports all the above info to excel'> 
</form>

在其他代码中将结果变量添加到url:

header('location:Seat_matrix.php?result=success');

要点:

第一次调用Seat_matrix.php时,没有结果变量,程序现在就运行它。执行第二个程序后,它会回调Seat_matrix.php并传递变量结果。第二次调用Seat_matrix.php时,它会检查结果变量是否已通过并显示消息。您可能需要在您想要消息的位置玩一点。

我希望这会有所帮助。祝你好运!

修改

要在编写成功消息后删除$ _GET变量,您可以尝试以下方法:

if (isset($_GET['result']) {
    if ($_GET['result'] == "success") {
        echo "Data exported successfully.");
    }
    else {
        echo "Error exporting data.";
    }
    unset ($_GET);
}

我没有测试过上述方法,但我相信它可能有用。