el problema es que el interprete de php toma la función js como suya, no como la cadena que debe volcar a la salida para el HTML.
usando
heredoc:
Código PHP:
<?php
function funcion(){
$parajs= <<<FIN
<script type="text/javascript">
function js(){
// JS
alert('aviso');
}
</script>
<input onclick="js()" />
FIN; //imprescindible sin tabulación
echo $parajs;
}
?>
normal: (debes
escapar las comillas)
Código PHP:
<?php
function funcion(){
echo '<script type="text/javascript">
function js(){
// JS
alert(\'aviso\');
}
</script>
<input onclick="js()" />'
}
?>
cabe recordarte que php se ejecuta e el servidor, cuando llega al JS del cliente, php ya esta inactivo