jQuery load(),Bootstrap模式和PHP

时间:2018-08-10 02:12:45

标签: javascript php jquery bootstrap-modal

我正在尝试通过Bootstrap模式加载数据,具体取决于通过javascript传递给模式的ID。我的模式链接是:

echo "<a href=\"#modal-edit\" data-toggle=\"modal\" data-session-id=\"".$mySessions->id."\" title=\"Edit Session\"><i class=\"fa fa-gear fa-2x text-primary\"></i></a>&nbsp;\n";

“ sessionId”是#modal-edit表单中的隐藏字段,当在表中列出的一个会话上单击“编辑”按钮时,该字段将更新。将sessionId发送到隐藏表单字段并尝试加载php文件的脚本是:

$('#modal-edit').on('show.bs.modal', function(e) {
    var sessionId = $(e.relatedTarget).data('session-id');
    $(e.currentTarget).find('input[name="sessionId"]').val(sessionId);
    $('#sessionLoadData').load('modal-edit-load.php?sessionId='.$sessionId);
});

我有

<div id="sessionLoadData"></div>

在我的模态中,我想使用modal-edit-load.php在会话表中查找sessionId,并返回一些带有php变量的html,同时在其中隐藏字段sessionId已更新。但是,我对Java还是很陌生,在按照此处推荐的解决方案进行操作之后,感觉有些不完整:

SO Jquery load() and PHP variables

当我转到页面时,

modal-edit-load.php?sessionId = 1可以工作-它加载带有与sessionId 1相关联的变量的表单对象。但是,它在模式中不起作用。当我单击“编辑”并出现模式时,表单对象没有出现。

我可以正确地使用javascript更新隐藏字段以及将php文件内容加载到模式吗?

1 个答案:

答案 0 :(得分:0)

您使用的是PHP $sessionId变量,而不是从相关元素中提取的JavaScript sessionId变量。

$('#modal-edit').on('show.bs.modal', function(e) {
    var sessionId = $(e.relatedTarget).data('session-id');
    $(e.currentTarget).find('input[name="sessionId"]').val(sessionId);
    $('#sessionLoadData').load('modal-edit-load.php?sessionId=' + sessionId);
});