0

我有一个 php 页面,它重定向(如果成功)到另一个 php 页面,如下所示:

header('Location: completed.php?message=Successful operation. Data inserted for user: ' . $login->get_username() . ' . See home page for infos.');

现在在 completed.php 我有一个 div 来回显收到的消息:

<div id="msg">
<?php echo $_GET['message']; ?>
</div>

我正在使用“Toastmessage-plugin”:在这里..,但我无法在 Toastmessage 的文本中显示 $_GET .. 我正在使用此代码:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="js/jquery.toastmessage.js" type="text/javascript"></script>
<link href="styles/jquery.toastmessage.css" rel="stylesheet" type="text/css" />

...

<script type="text/javascript">
function showStickyNoticeToast() {
        $().toastmessage('showToast', {
            text: $('#msg').val(),
            sticky: true,
            position: 'bottom-left',
            type: 'notice',
            closeText: '',
            close: function () { console.log("toast is closed ..."); }
        });
    }
</script>

我搜索了很多,也搜索了 DOM 事件和其他事件,但我不知道采取什么步骤......也许当 JQ 函数加载时 div 'msg' 还没有收到 GET 数据......?那么我如何更新他的价值?

我读过的页面: 这个这个。我也尝试过使用ajax,但我对该语言的经验较少。

请帮助... :) 谢谢

编辑@charlietfl

Ajax:我已经做了很多尝试......我再也找不到代码了!基本上我用这个代码调用一个php文件(把它当作伪代码):

<script type="text/javascript>
<!--
$('#choose').change(function(event) {
    $.get('messages.php', { selected: $('#msg').val() },
        function(data) {
            $('#update').html(data);   // other div wher store data
        }
    );            
}); 
</script>

……

<?php

$alfa = isset($_GET['message']) ? $_GET['message'] : 'nothing';
echo $alfa;
?>
4

3 回答 3

1

尝试通过以下方式传递消息urlencode()

$msg = "Successful operation etc. etc.";
header("Location: completed.php?message="+urlencode($msg));
于 2012-06-24T16:20:07.030 回答
0

明白了:您使用$("#msg").val()DIV标签没有“价值”。

使用$("#msg").text()(用于纯文本)

或者$("#msg").html()

在代码中还包含一些 HTML(很确定您需要第一个选项)。

.val()仅与“有价值”标签一起使用<input>(也适用于<textarea>)。

另见:http ://api.jquery.com/val/

于 2012-06-24T16:44:23.757 回答
-1

您的问题可能是您试图在 ajax 完成之前调用消息插件,因为 ajax 中的第一个“A”代表异步。

为了允许 ajax 完成所需的时间,您需要在 ajax 的成功回调中调用您的消息插件。

向函数添加message参数

function showStickyNoticeToast( message ) {
        $().toastmessage('showToast', {
            text: message,
            sticky: true,
            position: 'bottom-left',
            type: 'notice',
            closeText: '',
            close: function () { console.log("toast is closed ..."); }
        });
    }



$.post( url , dataToserver, function(data){         
      showStickyNoticeToast( $(data).text())
      $('#update').html(data); 

})
于 2012-06-24T16:49:55.573 回答