通过 Modal Bootstrap 传递数据并获取 php 变量?
Posted
技术标签:
【中文标题】通过 Modal Bootstrap 传递数据并获取 php 变量?【英文标题】:Passing data via Modal Bootstrap and getting php variable? 【发布时间】:2016-01-07 16:31:34 【问题描述】:我正在尝试获取通过 jquery 传递的输入值并将其设置为 php 变量,但我不知道该怎么做。
此按钮具有我要发送的值:
<button type='button' data-a='".$fila['idPlaza']."' href='#editarUsuario' class='modalEditarUsuario btn btn-warning btn-xs' data-toggle='modal' data-backdrop='static' data-keyboard='false' title='Editar usuario'><img src='../images/edit.png' width='20px' height='20px'></button>
然后我有这个js代码来发送值:
$(document).on("click", ".modalEditarUsuario", function (e)
e.preventDefault();
var self = $(this);
$("#a").val(self.data('a'));
$(self.attr('href')).modal('show');
);
我终于有了这个引导模式
<!-- MODAL EDITAR-->
<div id="editarUsuario" class="modal fade modal" role="dialog">
<div class="vertical-alignment-helper">
<div class="modal-dialog vertical-align-center">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h2 class="modal-title">Editar usuario</h2>
</div>
<form name="formularioModificaUsuario" method='post' action="usuarios.php">
<div class="modal-body">
<input type="text" class="form-control" name="idPlaza" id="a">
<?php
$valueA = ???
?>
</div>
<div class="modal-footer">
<button type="reset" id="cancelar" class="btn btn-danger" data-dismiss="modal" value="reset"><img src='../images/cancel.png' width='20px' height='20px'> Cancelar</button>
<button type="submit" name="submitModifica" id="submit" class="btn btn-primary" value="submit"><img src='../images/save_changes.png' width='20px' height='20px'> Guardar cambios</button>
</div>
</form>
</div>
</div>
</div>
</div>
我的问题是,我怎样才能将id='a'
的值输入到php 变量$valueA
中以供之后使用?
【问题讨论】:
【参考方案1】:<button type='button' data-a="<?echo $fila['idPlaza'];?>" href='#editarUsuario' class='modalEditarUsuario btn btn-warning btn-xs' data-toggle='modal' data-backdrop='static' data-keyboard='false' title='Editar usuario'>
<img src='../images/edit.png' width='20px' height='20px'>
</button>
将下面的代码放在</body>
标签结束前的footer中。
<!-- MODAL EDITAR-->
<div id="editarUsuario" class="modal fade modal" role="dialog">
<div class="vertical-alignment-helper">
<div class="modal-dialog vertical-align-center">
<div class="modal-content">
</div>
</div>
</div>
</div>
像这样使用脚本。
<script>
$('.modalEditarUsuario').click(function()
var ID=$(this).attr('data-a');
$.ajax(url:"NewPage.php?ID="+ID,cache:false,success:function(result)
$(".modal-content").html(result);
);
);
</script>
创建NewPage.php,并粘贴以下代码。 (请记住,此页面名称 NewPage.php 也用于脚本标记。如果您打算更改此页面的名称,请在脚本标记中也更改页面名称。两者都是相关的。)
<?
$ID=$_GET['ID'];
?>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h2 class="modal-title">Editar usuario</h2>
</div>
<form name="formularioModificaUsuario" method='post' action="usuarios.php">
<div class="modal-body">
<input type="text" class="form-control" name="idPlaza" id="a">
<?php
$valueA = $ID;
?>
</div>
<div class="modal-footer">
<button type="reset" id="cancelar" class="btn btn-danger" data-dismiss="modal" value="reset">
<img src='../images/cancel.png' width='20px' height='20px'> Cancelar</button>
<button type="submit" name="submitModifica" id="submit" class="btn btn-primary" value="submit">
<img src='../images/save_changes.png' width='20px' height='20px'> Guardar cambios</button>
</div>
</form>
【讨论】:
代码对我来说成功了,非常感谢你,@Nana Partykar 来自墨西哥的问候 我很高兴/很高兴听到我的代码有效。来自印度的问候 @AleexQuiiroz 先生。谢谢。【参考方案2】:php 在页面上的任何内容之前加载,因此您不能使用 jQuery 或 javascript 设置 php 变量,但可以执行相反的操作。
如果您在加载时最初有文本字段的值,那么您可以在加载时通过 php 设置它,否则您需要提交表单才能使用 php 中输入的值。
以下代码有效,php设置javascript
<?php
$valueA = "I am value A";
?>
<script language="javascript">
var jsValueA = "<?php echo $valueA; ?>";
alert(jsValueA); // alerts I am value A
</script>
以下代码无效,javascript设置php
<input type="text" class="form-control" name="idPlaza" id="a">
<?php
$valueA = $("#a").val();
?>
这是错误的,因为当 PHP 执行时输入字段还没有被创建,此外 jQuery 不能在 PHP 范围内执行。 javascript 和 jQuery 用于浏览器级别来管理用户交互和 DOM 对象和事件,而 PHP 用于服务器级别而不是浏览器。
所以如果你想设置一个 php 变量,你只能在服务器脚本加载时设置它,即 php 被执行,它在页面中的任何其他内容之前。或者,您可以从已发布的表单 $_POST
或 URI 查询字符串 $_GET
中获取值
【讨论】:
你能举个小例子吗?以上是关于通过 Modal Bootstrap 传递数据并获取 php 变量?的主要内容,如果未能解决你的问题,请参考以下文章
通过单击链接通过 JavaScript 打开 Bootstrap 4 Modal