0

我正在使用Twitter Boostrap JS中的 Modal 插件在我的项目中显示模态。我正在使用 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。这样我就可以对其采取行动。

<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>
4

1 回答 1

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']

​</p>

于 2012-11-17T20:16:05.517 回答