将数组值传递给模态

时间:2012-11-17 19:43:51

标签: php jquery mysql

我正在使用Modal plugin from Twitter Boostrap JS在我的项目中显示模态。我正在使用PHP和数据库显示消息。消息具有“回复”和“删除”选项(每个模式一个模式)。我想将数组ID传递给这些模态。我可以这样做吗?

这是我的显示代码:

<p><?php echo $row['message'];?></p>
<input type="hidden" id="msgid" value="<?php echo $row['id']?>">
<a href="#replyModal" data-toggle="modal" class="reply-to"><i class="icon-share-alt"></i>Reply</a>
<a href="#deletemodal" data-toggle="modal" class="reply-to"><i class="icon-trash"></i>Delete</a>

我希望将id传递给modals.So我可以对它采取行动。

<div class="modal fade" id="replyModal">
<form action="replymsg.php" method="post" enctype="multipart/form-data">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Reply:</h3>
</div>
<div class="modal-body">
<input type="text" id="msgid"></input>
<textarea name="message" style="width:98%; height:100px;"></textarea>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Post Reply</button>
</div>
</form>
</div>

1 个答案:

答案 0 :(得分:1)

解决方案非常简单。您实际上只是将隐藏的输入模式化为模态形式,然后就可以了。您在发布时获得了ID。

<div class="modal fade" id="replyModal">
    <form action="replymsg.php" method="post">
        <input type="hidden" id="msgid" value="<?php echo $row['id']; ?>" />
        <div class="modal-header">
            <a class="close" data-dismiss="modal">×</a>
            <h3>Reply:</h3>
        </div>
        <div class="modal-body">
            <textarea name="message" style="width:98%; height:100px;"></textarea>
        </div>
        <div class="modal-footer">
            <button type="submit" class="btn btn-primary">Post Reply</button>
        </div>
     </form>
</div>

如果由于某种原因你没有访问PHP中的模态窗口,那么使用jQuery点击a标签设置要在模式弹出窗口内的隐藏输入字段内删除的行的id。

-

编辑 - 添加了JavaScript示例   - 测试:http://jsfiddle.net/3A7Mg/ (这只会在你检查模态div时显示,当你点击回复链接时,它会向它添加一个隐藏的输入字段。)

使用以下JavaScript:

$(document).ready(function () {
    $('a.reply-to').click(function (e) {
        var $exists = $('#replyModal form input#dbid');

        if($exists.length == 0) {
            $('#replyModal form').prepend('<input type="hidden" id="dbid" name="dbid" value="'+$('#msgid').val()+'" />');
        } 
    });
});

然后,当用户提交表单时,您将在PHP POST中有一个名为“dbid”的索引,如下所示:

$_POST['dbid']