【问题标题】:How do you force a Jquery Mobile popup to open using php?您如何强制使用 php 打开 Jquery Mobile 弹出窗口?
【发布时间】:2022-04-06 22:35:51
【问题描述】:

基本上,当isset($_POST["submit"]) 被触发时,我试图强制我的一个 Jquery 移动弹出窗口打开。

请注意,在这种情况下,页面加载时弹出加载将不起作用,必须在提交表单时激活它。

例如:

<?php
if(isset($_POST['submit']))
{ 
      //other stuff
      //force open popup
}
?>
<form method='post' action='self.php'>
   <input type='submit' name='submit' value='submit' />
</form>
<a href="#popup" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" data-transition="pop">popup</a>
<div data-role="popup" id="popupLogin" data-theme="a" class="ui-corner-all">
    <!-- Popup contents -->
</div>

【问题讨论】:

  • 服务器端/客户端?不要混淆。
  • 你需要调用$('#popup').popup('open');,不要在jQuery Mobile中使用.ready()

标签: javascript php jquery jquery-mobile


【解决方案1】:

你可以试试这个吗??

<script type="text/javascript">
 $('#form').on('submit', function () {
    $("#popupLogin").popup("open")
  });
</script>

归功于奥马尔 谢谢你纠正我:)

【讨论】:

  • 你是在建议我把它放在 isset 部分下面吗?
  • $(document).ready(function () 替换为$('#form').on('submit', function ()。永远不要在 jQM 中使用.ready()。 @user1899891
【解决方案2】:

您能否不只是回显某些内容以使弹出窗口出现,或者如果是 a 可以正常打开它,您可以模拟点击它...

<?php
if(isset($_POST['submit']))
{ 
    //other stuff
?>
<script type="text/javascript">
$("document").ready(function(){
    // Simulate a click on a. I'd recommend giving A an ID or class to get it.
    $("a[href=#popup]").click();
});
</script>

<?php
}
?>

【讨论】:

  • 这个也可以,但我更喜欢 popup("open") 方法。谢谢
【解决方案3】:
Add id to anchor tag and use its click event when posted. Code below: 

    <form method='post' action='self.php'>
       <input type='submit' name='submit' value='submit' />
    </form>
    <a id="popUp" href="#popup" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" 
    <div data-role="popup" id="popupLogin" data-theme="a" class="ui-corner-all">
        <!-- Popup contents -->
    </div>
<?php
    if(isset($_POST['submit']))
    { 
          //other stuff
          //force open popup
          echo "<script>";
          echo "$('#popUp').click();"
          echo "</script>";
    }
    ?>

【讨论】:

  • 这个有效,但需要添加一个 ID。其他解决方案没有。谢谢你的详细答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 2014-05-20
  • 2014-04-11
  • 2013-07-07
  • 2014-03-19
相关资源
最近更新 更多