【问题标题】:How to display Flash Message on every click jquery ajax如何在每次点击 jquery ajax 时显示 Flash 消息
【发布时间】:2021-09-29 10:43:44
【问题描述】:

我正在研究 ajax 和 php,我正在成功地从数据库中获取数据,但是 ajax 响应仅在 html 中首次显示,但我想显示“成功/错误”消息 每次点击

这是我的 html/查看代码

<script>
$(document).ready(function(){
    $('#Mybtn').click(function(){
        $('#MyForm').toggle(500);
  });
});
</script>

<button id="Mybtn" class="btn btn-primary">Message</button>
<div id="result"></div>
<form id="MyForm" action="" method="post">
    <label>Enter wallet address</label>
    <input type="text" name="wallet" id="wallet"  placeholder="Enter wallet address"/><br>
    <label>Enter your msg</label>
    <input type="hidden" name="senderwallet" id="senderwallet" value="332121212121212121" >
    <input type="text" name="msg" id="msg" placeholder="Enter your msg"/><br>
    <input type="submit" id="submit" class="btn btn-default" name="submit" value="Submit"/>
</form>

<script>
$(function(){
   $('#submit').click(function(e){
        e.preventDefault(); 
            var wallet = $('#wallet').val();
            var msg = $('#msg').val();
            var senderwallet = $('#senderwallet').val();
            $.ajax({
            type: "POST",
            url: "<?php echo base_url('main/SednMsg'); ?>",
            data: {wallet:wallet,msg:msg,senderwallet:senderwallet},
            success: function(data){
                 $('#result').html(data); 
                  $('#result').delay(5000).fadeOut('slow');
                }
        });
});
});
</script>

这是我在控制器中的代码,如何在每次点击时获得“成功”或“错误”消息?我哪里错了?

function SednMsg()
{
    $wallet=$_POST['wallet'];
    $msg=$_POST['msg'];
    $senderwallet=$_POST['senderwallet'];
    $result['data'] = $this->M_main->SaveMsgs($wallet,$msg,$senderwallet);
    if($result['data']=="1") {
        echo '<div class="alert alert-success">
            <a href="#" class="close" data-dismiss="alert">&times;</a>
            <strong>Success!</strong>
            </div>';    
    } else {
        echo '<div class="alert alert-success">
            <a href="#" class="close" data-dismiss="alert">&times;</a>
            <strong>error!</strong>
            </div>';    
    }   
}

【问题讨论】:

标签: javascript php jquery ajax


【解决方案1】:

如果你第二次调用它,你需要再次显示你的元素。

<script>
$(function(){
   $('#submit').click(function(e){
        e.preventDefault(); 
            var wallet = $('#wallet').val();
            var msg = $('#msg').val();
            var senderwallet = $('#senderwallet').val();
            $.ajax({
            type: "POST",
            url: "<?php echo base_url('main/SednMsg'); ?>",
            data: {wallet:wallet,msg:msg,senderwallet:senderwallet},
            success: function(data){
                 $('#result').html(data); 
                  **$('#result').show(); // added this line**
                  $('#result').delay(5000).fadeOut('slow');
                }
        });
});
});
</script>

【讨论】:

  • 为我工作,非常感谢
【解决方案2】:

尝试使用 css 动画而不是 JavaScript setInterval 或 setTimeout 添加一个类

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 2021-08-17
    • 1970-01-01
    • 2021-11-02
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多