1

我想在满足 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>"; 

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

感谢您的关注。

4

6 回答 6

3
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;
于 2013-05-13T22:46:01.143 回答
0

肯定的事。你可能想要一些关于这个的东西:

  <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 文件输出它。只要条件通过,脚本就会显示。

于 2013-05-13T23:17:38.103 回答
0

尝试这样的事情。$bleh带有要显示的消息的 PHP 变量在哪里。

<script type="text/javascript">
$(document).ready(function(){
   var dlg = $('<div>').text(<?php echo $bleh ?>);
   $(body).append(dlg);
   dlg.dialog(
      modal: true
   );
});
<script>
于 2013-05-13T22:46:28.803 回答
0

PHP 期望像 rel="stylesheet" 这样的任何行中的 " (双引号) 是 php 代码。您必须使用 ' (单引号) 或使用诸如 add_slashes 之类的 echo 周围的函数来转义它们。为了解决这个问题,我通常在回显内容周围使用单引号,因此所有双引号都不会被打扰。

echo '这里所有“引用”的东西';

于 2013-05-13T22:46:49.580 回答
0

是的,它可能..

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

但我不确定它是否是在 echo 中编写整个函数的好方法,而是在页面中的某个位置在 HTML 中定义您的函数,并像我上面所做的那样在此处回显函数名称..

于 2013-05-13T22:49:13.220 回答
0

如前所述,您需要转义您的角色或像这样使用它,因此无需在此处转义字符

<?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; ?>
于 2013-05-13T22:50:24.267 回答