Javascript 如何在表单提交和位置重定向后打开特定模式

Javascript 如何在表单提交和位置重定向后打开特定模式,javascript,php,jquery,twitter-bootstrap,bootstrap-modal,Javascript,Php,Jquery,Twitter Bootstrap,Bootstrap Modal,我在模态中得到了一个表单,当它被提交时,我不希望它关闭。我获取SQL UPDATE语句设置的方式是,如果数据库得到更新,它将重定向到同一页,因此,在试图保持模式打开时,这会弄乱很多东西 if (isset($_POST['insert6'])) { $kval_antall = $_POST['kval_antall']; $id = $_POST['id']; $sql6 = ("UPDATE test3 SET kval_antall='$kval_antall'

我在模态中得到了一个表单,当它被提交时,我不希望它关闭。我获取SQL UPDATE语句设置的方式是,如果数据库得到更新,它将重定向到同一页,因此,在试图保持模式打开时,这会弄乱很多东西

if (isset($_POST['insert6']))
{
    $kval_antall = $_POST['kval_antall'];
    $id = $_POST['id'];

    $sql6 = ("UPDATE test3 SET kval_antall='$kval_antall' WHERE id='$id'");


    if (mysqli_query($conn, $sql6)) {
    header("Location: aktivbonus.php");
    exit;
} else {
    echo "Error: " . $sql6 . "<br>" . mysqli_error($conn);
}}
在这个变化中,是模态信息539,我正在尝试呼叫。如果有人有一个很好的方法做这件事,帮助是非常感谢的,因为我现在有点失去了尝试许多不同的事情

我尽了最大努力解释我想要什么,这很难理解,所以请询问是否有不清楚的地方。多谢各位

模态

<?php
    while ($row = mysqli_fetch_assoc($result)) {
        $test55 = '<div class="card card-date"><div class="card-body card-body-date text-secondary"><h5>' . strftime('%e.%B',strtotime($row['date'])) . ' <div class="card-header-date"><i class="material-icons">arrow_downward</i></div></h5></div></div>';
        echo $test55 !== $prevDate ? $test55.'' : '';
        $prevDate = $test55;
        echo '
        <div class="card border-info card-margin">
            <h5 class="card-header text-secondary">
                '. $row['bookmaker']. ': '. $row['bettype']. ' '. $row['betvalue']. 'kr <div class="card-header-date">Dato lagt til: Kl.'. strftime('%H:%M, %e.%b',strtotime($row['date2'])) . '</div>
            </h5>
            <div class="card-body text-secondary">
                <h5 class="card-title">Status:</h5>
                <p class="card-text">' . $row ['status'] . '</p>
                </div>
            <div class="card-footer bg-transparent"><div class="text-right"><button type="button" class="btn btn-outline-info" data-toggle="modal" data-target="#message'.$row['id'].'">Endre</button></div></div>   <-- BUTTON THAT OPENS THE MODAL
            </div>
        </div>
        <div class="modal fade bd-example-modal-lg" id="message'. $row['id'] .'" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <--- MODAL
          <div class="modal-dialog modal-lg" role="document">
              <div class="modal-content">
                <div class="modal-header card-header">
                  <h5 class="modal-title text-secondary" id="exampleModalLabel">'.$row['bookmaker'].': '.$row['bettype'].' '.$row['betvalue'].'kr</h5><div class="text-secondary" style="font-size: 1.25rem;font-weight: 500;">Dato lagt til: '.strftime('%H:%M, %e.%b',strtotime($row['date2'])).'</div>
                </div>
                <div class="modal-body">

如果在进入重定向页面时需要打开模式或不打开模式,则可以使用localStorage跟踪:

调用更新函数时:

localStorage.setItem('openModal', '#message539'); // Use message'. $row['id'] to dinamically save it
加载页面时:

 var modalId = localStorage.getItem('openModal');
 if (modalId != null){
  $(modalId).modal("show");
  localStorage.removeItem('openModal');
 }

使用javascript或jQuery执行此操作: 在重定向时发送一个成功标志,并在重定向页面上检查该标志,如果它比使用jQuery的显示模式为true

例如:(查看页面)

$flag=$flag?1:0;
clcik

在jQuery函数中

$( document ).ready(function() {
var flag = "<?= $flag?>";
if(flag){
$('#btn-modal-open')[0].click(); //create one
//button and give id as btn-modal-open so that on 
//click of button modal should popup
  }
});
$(文档).ready(函数(){
var flag=“”;
国际单项体育联合会(旗){
$('#btn模式打开')[0]。单击();//创建一个
//按钮并将id作为btn模式打开,以便打开
//点击按钮应弹出
}
});

需要更多的解释而不是告诉我

请发布您的模态代码以及如何打开它。当用户重定向到页面时,需要重新打开模式。您可以调用带有标志的页面,以重新打开模式。例如,您可以使用标题重定向到页面(“Location:aktivbonus.php?rebootmodel=true”);如果设置了此标志,则附加(javascript)代码以重新打开模式。@MarvinKlar将发布代码。我已经试过了,但它不起作用,我想这是因为在按下按钮打开它之前,它找不到模态的id。(因为在按下按钮时获取id并创建模式id)这可能会起作用。我可以在SQL UPDATE语句的脚本标记中回显localstorage吗?您可以在将表单提交到服务器之前执行JS函数。在这里,您可以将项目保存在本地存储中。尝试从按钮中删除数据toggle=“modal”。可能会帮助您以编程方式打开模式。您可以在具有不同ID的不同Button的onclick函数中,将ID作为字符串传递给JS函数(添加一个新参数),该参数就是您保存在localstorage中的参数,如下所示
localstorage.setItem('openModal',modalId)
。最后,让它通过身份证。谢谢你的帮助。
 var modalId = localStorage.getItem('openModal');
 if (modalId != null){
  $(modalId).modal("show");
  localStorage.removeItem('openModal');
 }
$flag = $flag?1:0;
<button id="btn-modal-open" style="display:none">clcik</button>
$( document ).ready(function() {
var flag = "<?= $flag?>";
if(flag){
$('#btn-modal-open')[0].click(); //create one
//button and give id as btn-modal-open so that on 
//click of button modal should popup
  }
});