Ver Mensaje Individual
  #8 (permalink)  
Antiguo 17/09/2014, 23:10
kavalerian
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 21 años, 6 meses
Puntos: 0
Respuesta: devolver desde una funcion una cadena de texto que llame a otra función

Gracias por responder pateketrueke.
Al final lo he solucionado con el sistema que me indicó patriarka, Muchas gracias.

Por si alguien le pasa:
El problema lo tenía en la respuesta de la función calendar_html en el que el texto devuelto contenía tanto comillas simples (') como dobles (") y al hacer eval se confundía y no sacaba nada por pantalla.
Para solucionarlo he cargado en una variable la información de la función, luego he realizado un replace y dicha variable la he añadido al código que se le pasa a eval, os dejo el código:

Código PHP:
Ver original
  1. $v_calendario = str_replace("'", "'", calendar_html());
  2. //echo $v_calendario;
  3.     return "echo '<p>
  4.             <label>$p_texto&nbsp;&nbsp;<a onclick=\"show_calendar()\" style=\"cursor: pointer;\"><small><img src=\"images/calendario.jpg\" /></small></a><br />
  5.             </label>
  6.           <input readonly=\"readonly\" class=\"text\" type=\"text\" name=\"$p_campo\" id=\"$p_campo\" value=\"$p_valor\" />
  7.           <div id=\"calendario\" class=\"calendario_izquierda\" style=\"display:none;position:relative;background-color: white\">$v_calendario</div>
  8.         </p>';";

Como veis el "truco" consiste en escapar las comillas del código que le pasas a eval!!!

Nota: La función show_calendar() no es necesario tocarla ya que es una llamada a javascript

Gracias a todos!!!!
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas