【问题标题】:Setting PHP Variable from selection in Modal在模态中从选择中设置 PHP 变量
【发布时间】:2018-11-05 08:03:55
【问题描述】:

我在尝试解决这个问题时遇到了问题,不知道如何最好地执行它。

我有一个页面,它在加载时打开一个模态,并且在其中有一个基于 MySQL 数据拉取的动态选择。 我想要的是,当点击选择按钮时,它将读取在模态中选择的输入并设置一个我可以与页面的其余部分一起使用的变量。

我的模态代码是

<div class="modal fade" id="CompanySelect" tabindex="-1" role="dialog" aria-labelledby="ModalCenterTitle" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered" role="document">
    <div class="modal-content regmodel">
      <div class="modal-header">
        <h2 class="modal-title" id="ModalTitle" style="margin:auto;">Select Company</h2>
      </div>
      <div class="modal-body">
        <form class="CompanySelection">
            <div class="selector">
                <?php
                    while($row = mysqli_fetch_array($CompaniesResults)) {
                        $x = $x + 1;
                        $Comp_array = array($row['Company_ID'], $row['Company_Name'], $row['WebID'], $row['Logo']);
                ?>
                <input id="<?php ECHO $Comp_array[2];?>" type="radio" name="Company" value="<?php ECHO $Comp_array[0];?>" required/>
                <label class="Compselect <?php ECHO $Comp_array[2];?>" for="<?php ECHO $Comp_array[2];?>"></label>
                    <?php } ?>
            </div>
        </form>
      </div>
      <button type="button" class="btn btn-primary regbtn" data-dismiss="modal">Select</button>
    </div>
  </div>
</div>

<script type="text/javascript">
    $(window).on('load',function(){
        $('#CompanySelect').modal('show');
    });

    $('#CompanySelect').modal({
        backdrop: 'static',
        keyboard: false
    })
</script>

基本上它会设置变量 $CompSel = 我可以毫无问题地与页面的其余部分一起使用。这是对各种字段和一些文本字段的选择,它们最终也将使用由 Modal 制作的 $CompSel 再次保存到数据库中。

感谢您提前提供帮助。

【问题讨论】:

标签: javascript php html variables bootstrap-modal


【解决方案1】:

您不能从客户端设置 PHP 变量,因为 PHP 是一种服务器端语言。 PHP 不是编译的,而是解释的。这意味着您创建的每个变量仅针对该请求“存在”。新要求?新变量。

如果您想以某种方式使变量在多个请求中保持不变,则必须将其存储到会话或数据库中。

根据您想要做什么,有不同的解决方案,但对于您所要求的“从模式设置 PHP 变量”,答案是否定的,您不能。

【讨论】:

  • 好的,有道理谢谢 :) 我必须看看如何将其作为会话变量,正如您对表单的其余部分所建议的那样。
  • 您可以创建一个会话变量,但您必须重新加载页面。加载页面后,您必须重新加载它以再次“运行”PHP。您应该查看有关 PHP 工作原理的基本指南,因为您似乎混淆了服务器端和客户端。
  • 是的,我仍然在不断学习它,以及它的功能有什么限制和没有限制。
【解决方案2】:

好的,我设法弄清楚我该怎么做。 看到 Modal 并没有消失,只是隐藏了,我仍然可以使用 JavaScript 来阅读我的电台选择,然后在我稍后发布我的帖子时使用它。

读取并设置变量

var x = $('#CompanySelection input[type=radio]:checked').attr('value');

对我有用。

所以我所做的就是在发布主表单时确实需要模态数据时使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 2019-06-19
    • 2016-07-16
    相关资源
    最近更新 更多