【问题标题】:HTML Modals is not pop uping没有弹出 HTML 模态框
【发布时间】:2020-08-13 04:14:55
【问题描述】:

我正在使用带有逻辑的 PHP 构建应用程序,

  • 打开两个文件。
  • 一个文件值显示菜单,回显到浏览器中。
  • 如果我们点击任何菜单,需要打开一个模态框,其值包含第二个文件。

我只是用 while 循环迭代。 问题是... 第一个文件中的菜单正在回显。但是,该模式仅适用于最后一个菜单。

当我检查时,会创建菜单和模式。 https://postimg.cc/crQ8JCr5 - 检查截图

$myfile1 = fopen("fisrt-file.dat", "r") or die("Unable to open file!");
$myfile2 = fopen("Second-file.dat", "r") or die("Unable to open file!");

while(!feof($myfile1)) {
    $fistFile = fgets($myfile1);
    $seconfFile = fgets($myfile2);
                      
    echo "<div class='one-by-three1'><div class='course-card1' data-toggle='modal' data-target='#".$seconfFile."'><p class='e-c-head'>".$fistFile."</p></div></div>";
                        
    echo "<div class='modal fade' id='".$seconfFile."' tabindex='-1' role='dialog' aria-labelledby='exampleModalCenterTitle' aria-hidden='true'>
        <div class='modal-dialog modal-dialog-centered' role='document'>
            <div class='modal-content'>
                <div class='modal-header'>
                    <h5 class='modal-title' id='exampleModalLongTitle'>".$fistFile."</h5>
                    <button type='button' class='close' data-dismiss='modal' aria-label='Close'>
                        <span aria-hidden='true'>&times;</span>
                    </button>
                </div>
                <div class='modal-body'>
                              <p>Second file element</p>
                </div>
                <div class='modal-footer'>
                    <button type='button' class='btn btn-secondary' data-dismiss='modal'>Close</button>
                </div>
            </div>
        </div>
    </div>";
    }
fclose($myfile1);
fclose($myfile2);

我使用了引导模式。 菜单将数据目标作为第二个文件值传递。

【问题讨论】:

  • 从 UI 的角度来看:您不想向用户猛烈抨击两种模式。您可以考虑使用手风琴或带有内容开关的模式。据我所知,引导程序中的模态不会按照您期望的方式工作。
  • @maio290 非常感谢。我只是用手风琴做到了。

标签: php html server modal-dialog


【解决方案1】:

我看到你已经改用手风琴,但正要告诉你它不起作用的原因,所以我会继续,以防它帮助其他人。

原因是因为 fgets 读取的行包括换行符。因此,分配给模态的 ID 包含换行符,但文件中没有换行符的最后一行除外,因此它可以工作。

要使其正常工作,只需像这样 rtrim 行:

$fistFile = rtrim(fgets($myfile1));
$seconfFile = rtrim(fgets($myfile2));

【讨论】:

  • 非常感谢您的更新。它与 rtrim() 完美配合。我用模型和手风琴做了两个选择。这是我要找的帽子。再次感谢@Mark。
猜你喜欢
  • 2017-10-14
  • 2017-01-24
  • 1970-01-01
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 2011-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多