在php中响应jquery警告弹出


echoing a jquery alert popup in php

我想在满足PHP中的某些条件时显示一个弹出警告框。比如:

  echo "<script type="text/javascript"> alert('bleh'); </script>";

,除了使用自定义的jquery警告框。这可能吗?

我试过这样做:

  echo "<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
   <link rel="stylesheet" href="/resources/demos/style.css" />
   <script>
   $(function() {
   $( "#dialog-message" ).dialog({
   modal: true,
   buttons: {
    Ok: function() {
      $( this ).dialog( "close" );
    }
  }
  });
});
</script>"; 

但是它给了我一个奇怪的效果。不弹出

谢谢你的关注。

echo <<<EOD
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css" />
    <script>
       $("#dialog-message").dialog({
           modal: true,
           buttons: {
               Ok: function() {
                  $( this ).dialog( "close" );
               }
           }
       });
    </script>
EOD;

试试这样做。其中$bleh是PHP变量,包含要显示的消息。

<script type="text/javascript">
$(document).ready(function(){
   var dlg = $('<div>').text(<?php echo $bleh ?>);
   $(body).append(dlg);
   dlg.dialog(
      modal: true
   );
});
<script>

PHP期望"(双引号)在任何行,如rel="stylesheet"是PHP代码。您必须使用'(单引号)或在echo周围使用函数(如add_slashes)转义它们。为了解决这个问题,我通常在echo内容周围使用单引号,所以所有的双引号都不会受到影响。

是有可能的…

echo "<script type='"text/javascript'">alert('bleh');</script>";

,但我不确定如果它是一个好方法来写整个函数在echo,而是在HTML中定义你的函数在你的页面的一些地方,并在这里echo函数名,就像我上面所做的…

如前所述你需要转义你的字符或者像这样使用它所以不需要转义这里的字符

<?php if (condition == true) : ?>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <script>
   $(function() {
   $( "#dialog-message" ).dialog({
   modal: true,
   buttons: {
    Ok: function() {
      $( this ).dialog( "close" );
    }
  }
  });
 });
 </script>
<?php endif; ?>

没问题。您可能想要在此附近设置:

  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
   <link rel="stylesheet" href="/resources/demos/style.css" />
   //check for PHP condition. Script will only be output on condition pass.
   <?php if(condition == true){ ?>
   <script>
   $(function() {
    $("#dialog-message").dialog({
     modal: true,
     buttons: {
     Ok: function() {
        $(this).dialog("close");
      }
    }
   });
 });
 </script>
 <?php } ?>

基本上,你实际上不需要"回显"脚本,只要你从。php文件而不是外部。js文件输出它。只要条件满足,脚本就会显示。