Função carrega antes da hora

1 resposta
N

Pessoal, sou bem novato em javascript... estou começando à criar uma aplicação utilizando YQL. Explicando:

Quero que quando seja inserido o valor (url) no campo "texto" seja carregada a função travels(data), mas isso não acontece porque ela carrega sempre no load da página... se eu insiro o valor no html a função carrega corretamente... tentei vários modos mas não consigo achar uma solução, alguém teria alguma ideia? Desde já obrigado!

<html>


<input type="url" id="texto" value="">


<div id="travels"></div>


<button onclick="travels(data)">Gera valor</button>

<script>


var x = document.getElementById("texto").value;

var url = x;

document.write("<script type='text/javascript' src="+ url + "><\/script>");




function travels(data){

document.getElementById('travels').innerHTML = data.results[0];

}

</script>

1 Resposta

super.emerson

bom dia, pelo que entendi, vc quer uma função que carregue apenas após o click. não “interessando o que ela vai fazer e o seu resultado, uma vez que ela funciona se for criada antes”, então desenrolei isso, e corrigi alguns erros, acredito que seja o que vc quer:

  script>

function travels(){

var url = document.getElementById(texto).value; // correto

eval(document.getElementById(travels).innerHTML = url);

}

</script 
Criado 14 de janeiro de 2015
Ultima resposta 8 de mar. de 2018
Respostas 1
Participantes 2