У меня есть функция frm_trigger_entry_update, это функция php, которая запускается в фоновом режиме. Я имею в виду, что это функция ajax php.

В этой функции я написал некоторую функцию jquery или javascript, которая будет alert текстовым сообщением.

В приведенном ниже фрагменте кода вы можете увидеть мой код функции.

   <?php

    function frm_trigger_entry_update($atts)
    {
    //here i have some php code which run properly
    }

    ?>

Я пробовал нижеприведенную логику, но она не работает для меня, значит окно предупреждения не отображается после вызова этой функции.

<?php

function frm_trigger_entry_update($atts)
{
  //here i have some php code which run properly
  ?>
    <script>
      jQuery(document).ready(function($){
        alert("my message");
      });
    </script>
  <?php
}
?>

Так как же предупредить окно в этой функции php любой может иметь какое-либо представление.

0
Sanjay Nakate 16 Дек 2015 в 12:16

6 ответов

Лучший ответ

Попробуй это:

echo "<script>alert('test');</script>";
1
devpro 16 Дек 2015 в 09:24

Примечание. Рекомендуется делать это с Ajax, потому что функция находится на стороне сервера, поэтому вы должны вызывать ее на сервере из клиента, используя Ajax.

Создайте один файл, например: "frm_trigger_entry_update.php"

В "frm_trigger_entry_update.php" поставьте свою функцию

function frm_trigger_entry_update($atts)
{
     //here i have some php code which run properly
     echo $atts;
}

// Call to that function
frm_trigger_entry_update("ATTRIBUTE_VALUE");

Напишите Ajax в своем HTML

$.ajax({
    type: 'get',
    url: 'PATH to frm_trigger_entry_update.php',
    success: function(data) {
        alert(data);
    }
});

Вы получите оповещение как ATTRIBUTE_VALUE .

0
softsdev 16 Дек 2015 в 09:43

Подумайте о том, чтобы ваш Ajax-вызов был следующим

    $.ajax({url: "URL to frm_trigger_entry_update", 
        success: function(result)
                 {
                      alert(result);
                }
     });

Ваша PHP функция

<?php

function frm_trigger_entry_update($atts)
{
    echo "my message";
}

?>
2
AkshayP 16 Дек 2015 в 09:25

Используйте JS и Php отдельно.

Первый ajax-вызов из вашего файла JS:

$.ajax({url: "frm_trigger_entry_update function's Url", 
    success: function(result) {
      alert(result);
    }
});

В php Function, откуда вы должны отправить свое сообщение:

function frm_trigger_entry_update($atts) {
  echo "my message";
}
6
Jyoti Sharma 16 Дек 2015 в 09:29

Вызов функции php через ajax действительно невозможен, потому что ajax использует url для файла php, а не функцию php.

Хотя ваш код работает и будет предупреждать, если вы вызовете его через php. Код ниже будет предупреждать о том, какую строку вы вводите в параметр своей функции.

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<?php

        function frm_trigger_entry_update($atts)
        {
        //here i have some php code which run properly
            ?>
           <script>
             jQuery(document).ready(function($){
              alert("<?php echo $atts;?>");
               });
            </script>
            <?php
        }
        //calling the function and passing a simple string
        frm_trigger_entry_update("Alert Message");
?>
</body>
</html>
-1
jameshwart lopez 16 Дек 2015 в 09:47

В вашей функции php вам нужно вернуть результат:

<?php
function frm_trigger_entry_update($atts)
{
    return "<script>
         jQuery(document).ready(function($){
          alert('my message');
           });
           </script>";
}

И затем, где вы хотите применить этот скрипт, вы можете отобразить вывод вашей функции:

<?php
...
$script = frm_trigger_entry_update($ats);
echo $script;

Однако, на мой взгляд, это не очень хорошая практика, вы должны поместить свой javascript в функцию js, в файл js и включить свой файл js в документ или вызвать его при необходимости.

-1
jiboulex 16 Дек 2015 в 09:21