2014-06-07 3 views
0

Im пытается напечатать результат функции PHP для конкретного HTML идентификатор или классPHP эквивалент JQuery HTML() или текст()

РНР функция вызывается с помощью кнопки ввода

JQuery код:

function myfunction() { 
$answer = 'random text <b>' + $radomvar +'more random'; 
$('#resultline').html($answer); 
} 

есть эквивалент для

$('#resultline').html($answer);  

в PHP?

+0

Вы можете использовать '$ ('# resultline') текст ($ ответ);' но нет. оптимальный - 'html' лучше -' $ ('# resultline'). html ($ answer); ' – prava

+2

Возможно, вы захотите изучить [PHP: DOMElement] (http://www.php.net// manual/en/class.domelement.php) (и [PHP: DOMElement :: getElementById] (http://www.php.net/manual/en/domdocument.getelementbyid.php)). – ACJ

+0

Не так, как вы хотите, чтобы это сработало, я думаю. – Xatenev

ответ

2

То, что вы просите, не имеет смысла. Вы можете вставлять PHP-код вместе с кодом HTML и обрабатываться сервером до того, как ответ HTTP будет отправлен обратно клиенту.

Поэтому, почему бы не сделать что-то вроде:

<span id="resultline"><?php echo myFunction(); ?></span> 

Где myFunction функция PHP, которая возвращает строку, которую вы хотите вставить?

0

Нет, нет. PHP является серверной стороной, поэтому после выполнения запроса он больше не может изменять веб-страницу. Если вы хотите сделать это, единственным вариантом является вызов AJAX, например JQuery в качестве фреймворка.

0

Вы не можете выполнить правильное манипулирование DOM с помощью PHP. Для вашего вопроса вам нужно будет использовать функцию ajax jQuery для запроса значения переменной из бэкэнд и заполнения контейнера при его получении.

сценарий расслоение плотной:

jQuery.ajax({ 
    url: 'myfunction.php', 
    data: {varname: randomvar}, 
    type: 'POST' 
}).done(function(response) { 
    $('#resultline').html(response); 
}); 

myfunction.php

<?php 
function myfunction($radomvar) { 
    $answer = 'random text <b>'. $radomvar .'more random'; 
    return $answer; 
} 

echo myfunction($_POST['varname']); 

Пожалуйста, обратите внимание, что вам не нужно PHP интерполировать переменные в строке. Эта функция не требует PHP для запуска. Если единственная цель PHP здесь, чтобы получить $radomvar значение, и вы положительно уверены, что хотите иметь PHP в вашем веб-интерфейсе, то было бы достаточно, чтобы сделать что-то вроде

<script> 
    function myfunction(radomvar) { 
     var answer = 'random text <b>' + radomvar +'more random'; 
     $('#resultline').html(answer); 
    } 
    var randomvalue='<?php echo $radomvar; ?>'; 
    myfunction(randomvalue); 
</script> 
+0

ahh gotcha спасибо многому человеку – beepbaapboom

0

Ну их не функция равна что в php, однако, вы можете легко добиться такого же эффекта довольно легко, написав еще несколько строк кода.

<div id="resultline"><?php echo $answer; ?></div> 

вместо этого вы должны поместить PHP эхо-код, где вы хотите, напечатанный на странице HTML, otherweise вы должны использовать AJAX или что-то другое, чем PHP.

2

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

function myfunction() { 
$answer = 'random text <b>' + '<?php echo myfunc($radomvar); ?>' +'more random'; 
$('#resultline').html($answer); 
} 
+0

@ Анонимный, вы говорите о вышеупомянутом фрагменте кода? просто любопытно .. пишет js или html-код в файле .php не хорошо? – pankaj

+0

Это действительно так, если перед этим разделом есть '' '?' '' 'Закрывающий тег, который предполагается, если OP задает вопрос о файле phs parsed html или js. – amenadiel

+0

@pankaj Я думал, вы имели в виду, что хотите, чтобы функция выполнялась как PHP-код. Я уточнил ваш ответ. – Anonymous

Смежные вопросы