Я хочу отобразить всплывающее окно предупреждения при некотором условии выполнения 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-кодом. Вы должны либо использовать« одиночные кавычки », либо избегать их с помощью функции вокруг эха, например add_slashes. Чтобы обойти это, я обычно используют одинарные кавычки вокруг содержимого эха, поэтому все двойные кавычки не беспокоят.
эхо «все« цитируемые »вещи здесь;
Да, возможно.
echo "<script type=\"text/javascript\">alert('bleh');</script>";
но я не уверен, что это хороший способ написать целую функцию в echo. Вместо этого определите свою функцию в HTML, где-то на вашей странице, и эхо-имя функции здесь, как я сделал выше ..
как указано прежде, чем вам нужно избежать вашего персонажа или использовать его так, чтобы не было необходимости скрывать символы здесь
<?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-файла. сценарий будет отображаться до тех пор, пока условие пройдет.