2012-04-26 4 views
-2

Я нашел этот скрипт для создания предварительного просмотра, который несколько похож на тот, который используется здесь в stackoverflow. Когда пользователи набрали сообщение, я бы хотел, чтобы он был преобразован в php-строку еще до того, как будет показан в предварительном просмотре. Это будет сделано для использования mysql_real_escape_string, а также других вещей.Включите ввод javascript в php-строку

Как сделать его в php-строку перед показом? И было бы также очень приятно узнать, как заставить его показывать снова после того, как я ускользнул от строки.

Он содержит в основном содержат эти две части кода

<script type="text/javascript"> 
    function preview(field) { 
     var p = document.getElementById('input_exercise'); 
     p.innerHTML = field.value; 
    } 

</script> 
<textarea style="width:500px; height:150px;" onkeypress="preview(this);"></textarea> 
<p id="input_exercise"></p> 

Благодарности

+2

Что делает mysql_real_escape_string для предварительного просмотра? что такое «php string», о котором вы говорите? –

+4

Что вы подразумеваете под php-string? – mpm

+0

Если я понимаю вас правильно, тогда это невозможно, как вы этого хотите. Вы можете использовать запрос ajax на сервер, содержащий строку, обрабатывать его в PHP на сервере и отвечать модифицированной строкой. Таким образом, вы можете «перевести» ваш JavaScript с помощью PHP-кода. –

ответ

0

Я думаю Существует немного путаница. Многие разработчики сначала не понимают, что javascript визуализируется на стороне клиента, в то время как шаблон (в вашем случае php-код) отображается на стороне сервера.

Что это значит?

Это означает, что на сервере выполняется php-код, который выводит и HTML-строку в браузер. Эта строка HTML содержит сегменты скриптов с javascript. Как только код php будет завершен, код покидает сервер и перемещается по сети в браузер. Как только он попадает в браузер, браузер не знает, какой код сгенерировал HTML. Он также мог быть статическим ресурсом.

Для того, чтобы запустить php-код при вводе пользователя, пользовательский ввод должен вернуться на сервер. И для того, чтобы показать любой вывод кода пользователю, выход должен вернуться с сервера на браузер.

Этот рейс туда и обратно осуществляется одним из двух способов. Первый - это формы, которые обновляют всю страницу (не подходит для этого случая.) Другой - AJAX.

AJAX - это способ отправки небольших фрагментов информации на сервер, рендеринга их на стороне сервера и возврата их после рендеринга в функцию javascript. Скорее всего, это превращение ввода textarea в «php-строку». На самом деле это произойдет - вы отправите текстовую область на сервер, сервер будет отображать шаблон php (в котором он будет просто работать с функцией mysql_real_escape_string), полученный результат вернется к javascript callback, а затем вы можете порадовать его в разделе «Предварительный просмотр».

Here a cool tutorial Я нашел о ajax и php, используя jquery. (использование jquery)

Надеюсь, это поможет.

Код javaspcript должен выглядеть следующим

$.ajax({ 'url' : '/render-string-for-preview', 
      'type':'post', 
      'data' : { 'text' : $("textarea").val() }, 
      'success' : function(result) { $("#input_excercise").html(result) } 
     }); 

И вы должны добавить ресурс на «/ рендер-строка-для-просмотра», который будет просто сделать что-то вроде (не разработчик PHP .. .)

<? mysql_real_escape_string (POST["text"]) ?> 

И все.

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