как передать через php функцию js?

mustafa

Новичок
как передать через php функцию js?

что надо сделать:
user вводит текст в форму. нажимает. через ajax попадает в php. обрабатываем. посылаем в виде функции JS.
использую для ajax библиотеку prototype. на клиенте ловлю вычисления через eval():
...
method:"get",
onComplete:function(xhr){
eval(xhr.responseText);
}
...
на стороне сервера нужно передать через php данные, но это должна быть js функция.
Вопрос: как это сделать?
p.s. для передачи переменной в js делаю так:
PHP:
<?php
$name = $_GET['name'];
echo "document.getElementById('helloTitle').innerHTML = 
'<h1>Hello, <b><i>$name</i></b></h1>'";
?>
p.p.s.
делаю так, неполучается пока
PHP:
<?php

$name=$_GET['name'];

if(strlen($name) > 8)
  $isLong = TRUE;
else
  $isLong = FALSE;

echo "updateName($name, $isLong)";

?>
updateName это js функция:

function updateName(name,isLong){
$('helloTitle').innerHTML="<h1>Hello, <b><i>"+name+"</i></b></h1>";
var listDivId=(isLong) ? 'longNames' : 'shortNames';
$(listDivId).innerHTML+=name+"<br/>";
alert("Hey, we've got a visitor called '"+name+"' here");
}
спасибо за помощ, и тем кто дочитал до конца )
---------
короче говоря, нужно jsp код перевести в php:
<jsp:directive.page contentType="text/plain"/>
<%
String name=request.getParameter("name");
boolean isLong=(name.length()>8);
%>
updateName("<%=name%>",<%=isLong%>);
 

kode

never knows best
http://xajaxproject.org/ то что вам надо

-~{}~ 16.07.08 13:32:

echo "document.getElementById('helloTitle').innerHTML =
'<h1>Hello, <b><i>$name</i></b></h1>'";

и ещё - в этом случае перевод строк недопустим, те попробуйте
echo "document.getElementById('helloTitle').innerHTML = '<h1>Hello, <b><i>$name</i></b></h1>'";
 

Farsh

~ on ~ high ~ wave ~
Заключи свой кусок js кода в script и на клиенте пропиши : evalscripts: true (в prototype)
 

mustafa

Новичок
насчет xajax я в курсе, класная штука но пока не использую.
финт с evalscripts не делал, подумал что можно решить как то по другому, и правельно сделал.
в общем передать функ. js через php я решил таким образом:

echo "updateName('$name', $isLong)";
 
Сверху