Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

melhorespromos

Função carrega antes da hora

Recommended Posts

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="a()">Gera valor</button>
 
<script>
 
 
var x = document.getElementById("myText").value;
 
var url = x;
 
document.write("<script type='text/javascript' src="+ url + "><\/script>");
 
 
 
 
function travels(data){
 
document.getElementById('travels').innerHTML = data.results[0];
 
}
 
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script> 

function a() {

var url = document.getElementById("myText").value;

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

}

 

function travels(data){

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

}

</script>

Quem chama a função travels() ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe, não coloquei no código, mas queria que o botão "gera valor" chamasse a função, mas quando coloco isto no código nada funciona.. acho que não estou fazendo direito...

<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>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script>

function travels(){

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

 

var tagScript = document.createElement('script');

tagScript.src = url;

tagScript.type = 'text/javascript';

 

tagScript.onload = function(){

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

};

}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites
<script>
function travels(){
    var url = document.getElementById("texto").value;

    var tagScript = document.createElement('script');
    tagScript.src = url;
    tagScript.type = 'text/javascript';

    tagScript.onload = function(){
        document.getElementById('travels').innerHTML = data.results[0];
    };
}
</script>

 

 

Pior que não funcionou... o jeito que funciona é o seguinte, quando o valor já está indicado anteriormente.. retorna o valor de 59,90 na div travels:

<!DOCTYPE html>
<html>


<input type="url" id="myText" value="https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Fwww.ricardoeletro.com.br%2FProduto%2FAparelho-de-Barbear-Gillette-3-em-1-Fusion-ProGlide-Styler-Apara-Raspa-e-Estiliza%2F890-2211-3382-274560%22%20and%20xpath%3D'%2F%2Fspan%5B%40id%3D%22ProdutoDetalhesPrecoComprarAgoraPrecoDePreco%22%5D'&format=xml&callback=travels
 ">


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



<script>


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


var url = x;

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



function travels(data){
  if(data.results){
    var travels = document.getElementById('travels');
    travels.innerHTML = data.results[0];
  } 
}

</script>

Gostaria de inserir diversas urls no input e a função também retornasse o valor, mas não está dando certo de jeito algum..

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

 

<input type="url" id="myText" value="" size="100" />

<input type="button" id="button" value="Ok" />

 

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

 

 

<script>

(function(){

'use strict';

 

var $head = document.querySelector('head'),

$travels = document.getElementById('travels'),

$myText = document.getElementById('myText'),

$button = document.getElementById('button');

 

window.travels = function(data) {

$travels.innerHTML = data.results[0];

};

 

function appendScript(url){

var script = document.createElement('script');

script.src = url;

script.type = 'text/javascript';

 

$head.appendChild(script);

return script;

}

 

$button.addEventListener('click', function(){

var script = appendScript($myText.value);

$travels.innerHTML = 'Carregando...';

});

}());

</script>

 

</body>

</html>

é só vc colocar a URL e clicar no OK.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.