我正在尝试通过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> \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文件内容加载到模式吗?
答案 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);
});