PDA

Ver la Versión Completa : Boton en php


halizia
26-03-2007, 09:44:19
Hola!

quiero hacer que cuando le pulse a un botón una vez me muestre un texto, y cuando le vuelva a pulsar desaparezca el texto, y así sucesivamente. Ese texto se escribe desde una funcion en php.

Gracias!!

kayetano
26-03-2007, 17:13:06
Hola

Aunque el texto se escriba desde una función PHP lo que tu quieres hacer se resuelve con JAVASCRIPT.

<input type="button" value="Texto" onclick="(this.value == '' ? this.value='Texto' : this.value='')">

No se si es del todo correcto lo que he puesto, pero espero que te de una idea.

halizia
27-03-2007, 10:25:44
Hola,
el texto que quiero escribir, se escribe desde una funcion. cómo puedo poner que llame a la funcion?

Gracias!!

kayetano
27-03-2007, 11:33:30
Hola

el texto que quiero escribir, se escribe desde una funcion. cómo puedo poner que llame a la funcion?
Depende de como trabaje esa función. Te pongo un ejemplo muy simple.

<?php
$texto = htmlentities( miFuncion(), ENT_QUOTES );
...
?>
<input type="button" value="<?=$texto?>" onclick="this.value=(this.value == '' ? '<?=$texto?>' : '')">

donde "miFuncion()" devuelve el texto que debe mostrarse en el botón.
La función "htmlentities()" puedes utilizarla dentro de "miFunción()" yo la pongo fuera para hacer incapie sobre ella.

EDITO: El ejemplo anterior tenía alguna que otra errata.

halizia
27-03-2007, 11:52:54
Hola!

kayetano, gracias, tu ejemplo funciona correctamente, pero no me he sabido explicar bien.

Lo que tengo es un menu con distintos botones, y quiero que uno de ellos, al pinchar me muestre un árbol de directorios y cuando vuelvar a pinchar se oculte, y así sucesivamente.

Perdón, ha sido culpa mía no haberme expresado correctamente.

Gracias!!

kayetano
27-03-2007, 12:19:58
Hola

Eso que pides se puede hacer facilmente.
1. Creas una capa donde meteras todo el texto que quieres mostrar.
2. Defines un ID para esa capa.
3. En el evento ONCLICK del botón llamas a una función que haga lo siguiente:

function miFuncion() {
obj = document.getElementById( "miID" );
if( obj )
obj.style.display = (obj.style.display == "none") ? "" : "none";

}

te lo pongo de memoria por lo que es posible que no funcione al 100% pero te haces una idea.

halizia
27-03-2007, 13:03:02
Hola,

crear una capa?? no tengo ni idea de cómo se hace, de php tngo un poco más de idea pero de javascript nada de nada. Si me puedes ayudar un poco más...:p

Gracias!!

roman
27-03-2007, 13:24:23
Por capa, kayetano se refiere a


<div id='mi_capa'>
<!--
Aquí pones todo lo que quieras ocultar/mostrar
-->
</div>


// Saludos

halizia
27-03-2007, 14:01:19
Muchas gracias!!

ya sería perfecto si por defecto no se mostrara el texto.

Saludos!!

kayetano
27-03-2007, 14:17:00
Hola

ya sería perfecto si por defecto no se mostrara el texto.

<div id='mi_capa' style='display:none'>
<!--
Aquí pones todo lo que quieras ocultar/mostrar
-->
</div>

Te recomiendo que antes de seguir con el proyecto que tienes entre manos te leas un manual de HTML y otro de JAVASCRIPT (y PHP si vas a trabajar con este lenguaje), ya que tu nivel es nulo y veo imposible que puedes desarrollar algo en condiciones sin saber realemente lo que haces.
La ayuda que se te ha proporcionado en este hilo es super básica, javascript básico, HTML para principiantes y CSS para principiantes.