1 votes

Exécution d'une fonction Javascript après la définition des variables

Je dispose des fonctions suivantes :

// NATION
var x, y, z;
function flag(nation,area)
{
x = nation;
this.nation=nation;
var el=document.getElementById("desc");
el.innerHTML='The region you have selected is <b>'+area+'</b>';
document.getElementById("flag").innerHTML='<img src="images/flags/'+nation+'.jpg">';
}
// SERVICE
function output(service)
{
y = service;
this.service=service;
var el=document.getElementById("service-desc");
el.innerHTML='You have selected a <b>'+service+'</b> service.';
document.getElementById("clock").innerHTML='<img src="images/clock-'+service+'.png">';
}

Et une fois que l'utilisateur a défini les variables : nation & service ont été définis, j'aimerais exécuter cette fonction :

function selectmodel()
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support XMLHTTP!");
  return;
  }
var location=x;
var time=y;
var weight=z;
var url="selectmodel.php";
url=url+'?location='+location+'&time='+time+'&weight='+weight;
xmlhttp.onreadystatechange=stateChanged1;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
window.location.hash="slider";
}
function stateChanged1()
{
if (xmlhttp.readyState==4)
  {
  document.getElementById("result").innerHTML=xmlhttp.responseText;
  }
}

Quelqu'un peut-il avoir l'obligeance de m'indiquer la marche à suivre ?

Merci, B.

EDIT - J'ai oublié de préciser que les variables proviennent de onclick's (onClick="flag('scotislands', 'Scottish islands') ;")

0voto

Daniel Rikowski Points 27193

Je suppose que vous cherchez - dans le plus pur esprit Javascript - une sorte d'événement qui se déclenche, et il y a peut-être même un moyen, mais dans ce cas, je me contenterais d'appeler une vérification à partir de chaque fonction :

var x = null;
var y = null;
var ...

function trySelectModel() {
  if (x == null) || (y == null) return;
  selectModel(); // Your function
}

function flag(...) {
  // Your existing code
  trySelectModel();
}

function output(service) {
  // Your existing code
  trySelectModel();
}

function selectmodel() {
  // Your existing code
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X