View Full Version : mudar evento OnClick


jtcgomes
02-06-2007, 03:21
Ora boa noite malta...
Estou aki devolta de um projecto, e chegou-me a seguinte duvida..

tendo eu um botão

<INPUT TYPE="button" Value="Abrir" onClick="abrir(this)">

A minha ideia é ele abrir algo, e o botão ficar com o Value=Fechado.
Mas estando ele a fechado cria inverter o passo e executar a função fechar..
Alguem k me explike como se faz isto?


function abrir(texto){
if (texto.value="Fechado")
onClick=("fechar()");
else
texto.value="Fechado";
procedimentos pra abrir...


mas isto não funciona. será k posso usar o OnClick aki em cima??
Essas ajudas/opiniões, serão bem vindas...
OBRIFGADAO

OldMan
02-06-2007, 03:38
julgo que seria mais algo tipo isto, mas a unica coisa que usei foi logica, nao me lembro da syntax...
o nome BTN seria o name do input, que no exemplo que deste ainda nao tinhas

function abrir(texto){
if (btn.value="Abrir"){
btn.value="Fechar";
*inserir instrucao para abrir*
}else{
btn.value="Abrir";
*inserir instrucao para fechar*
}
}

SoundSurfer
02-06-2007, 12:53
Não é mais fácil teres 2 botões e mostrares/esconderes o pretendido?

jtcgomes
02-06-2007, 13:38
Obrigado aos dois... ando aki a massacrar a cabeça com isto...
MAs foram uties. obrigado

capricorn
03-06-2007, 01:41
function abrir(texto){
if (texto.value="Fechado")
texto.onClick=("fechar()");
else
texto.value="Fechado";
procedimentos pra abrir...
será isto?

p3dro
03-06-2007, 02:24
Ora boa noite malta...
Estou aki devolta de um projecto, e chegou-me a seguinte duvida..

tendo eu um botão

<INPUT TYPE="button" Value="Abrir" onClick="abrir(this)">

A minha ideia é ele abrir algo, e o botão ficar com o Value=Fechado.
Mas estando ele a fechado cria inverter o passo e executar a função fechar..
Alguem k me explike como se faz isto?


function abrir(texto){
if (texto.value="Fechado")
onClick=("fechar()");
else
texto.value="Fechado";
procedimentos pra abrir...


mas isto não funciona. será k posso usar o OnClick aki em cima??
Essas ajudas/opiniões, serão bem vindas...
OBRIFGADAO

vê se isto te ajuda em alguma coisa ...

<html>
<head>
<script type="text/javascript" >
function ButtonClick(field){
if(field.value=="Abrir"){
field.value="Fechar";
FuncaoAbrir();
}
else if(field.value=="Fechar"){
field.value="Abrir";
FuncaoFechar();
}
}

function FuncaoAbrir(){
alert("Programar função abrir ...");
//fazer alguma coisa
}

function FuncaoFechar(){
alert("Programar função fechar ...");
//fazer alguma coisa
}
</script>

</head>
<body>
<input type="button" value="Abrir" onClick="ButtonClick(this)" name="bt" id="bt">
</body>
<html>

SoundSurfer
03-06-2007, 02:50
O problema dessas solução é que o "onclick" é um evento... mesmo em javascritp é um evento... não lhe podem atribuir uma "string"... penso que é algo do estilo:

botao.onclick = funtion ( alert('aaa'); )

Exemplo:
function init() {
var h2 = document.getElementsByTagName('h2');

for ( var i=0; i<h2.length; i++ ) {
h2[i].onclick = showHide;
}
}

function showHide( e ) {
el= (e) ? e.target : window.event.srcElement;

el = el.nextSibling;
while ( el.tagName != 'DIV' )
{
el = el.nextSibling;
}

if( el) {
if ( el.className != "hide" )
{
el.className = "hide";
} else {
el.className = "show";
}
}
}

jtcgomes
03-06-2007, 03:10
vê se isto te ajuda em alguma coisa ...

<html>
<head>
<script type="text/javascript" >
function ButtonClick(field){
if(field.value=="Abrir"){
field.value="Fechar";
FuncaoAbrir();
}
else if(field.value=="Fechar"){
field.value="Abrir";
FuncaoFechar();
}
}

function FuncaoAbrir(){
alert("Programar função abrir ...");
//fazer alguma coisa
}

function FuncaoFechar(){
alert("Programar função fechar ...");
//fazer alguma coisa
}
</script>

</head>
<body>
<input type="button" value="Abrir" onClick="ButtonClick(this)" name="bt" id="bt">
</body>
<html>

OBRIGADÂO.... já bomba...