Problème de variable qui veut pas sortir d'une fonction. [Résolu] - HTML/CSS - Programmation
Marsh Posté le 28-02-2008 à 21:16:48
euh tu envoies a ta fonction la string 'url' la
onClick="getModif(this.id)"
et t as pas besoin de passer par des globales degueu
de toute facon tu sais pas le faire...
edit : ok j ai mal lu désolé pour l agression mais c est tres mal de passer directement l id
ta variable qui n ets pas globale c est donnee donc
tu supprimes cette ligne dans getModif
document.getElementById(id).value=donnee;
et dans ton ready state tu remplaces
var donnee = httpRequest.responseText;
return donnee;
par
document.getElementById(id).value = httpRequest.responseText;
Marsh Posté le 29-02-2008 à 13:35:48
Youhou merci beaucoup ça marche !
Je précise au passage que je n'aime vraiment pas le JS, que pour moi c'est une bous* infame mais que celà aidera à améliorer l'interactivité de mon application, je m'y suis mis et là j'étais bloqué.
Merci encore
Marsh Posté le 29-02-2008 à 14:20:26
le js ca pootre severe
Marsh Posté le 28-02-2008 à 18:32:17
B'jour tout l'monde !
Alors voilà, j'ai besoin de JavaScript dans une appli que je developpe en ce moment.
Voilà mon problème :
<script type="text/javascript">
function makeRequest(id) {
var httpRequest = false;
if (window.XMLHttpRequest) {
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP" );
} catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP" );
} catch (e) {}
}
}
if (!httpRequest) {
alert('Abandon : ( Impossible de créer une instance XMLHTTP');
return false;
}
httpRequest.onreadystatechange = function() { alertContents(httpRequest); };
httpRequest.open('POST', 'index.php?action=synx&subaction=config', false);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.send('id='+id);
}
function alertContents(httpRequest) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
var donnee = httpRequest.responseText;
return donnee;
} else {
alert('Un problème est survenu avec la requête.');
}
}
}
function getModif(id) {
global
document.getElementById(id).type='text';
makeRequest(id);
document.getElementById(id).value=donnee;
}
</script>
La fonction getModif est appelé comme celà :
<input id="url" name="url" type="button" value="Cliquez pour modifier l'URL" onClick="getModif('url')" />
Normalement, lorsqu'on clique sur le champs, il se transforme et à l'intérieur, apparaît une données (ici une URL).
La requête AJAX fonctionne mais le problème, c'est que je n'arrive pas à récupérer l'URL pour la mettre dans le champs (j'ai du mal m'y prendre dans ma fonction getModif).
Je vois vraiment pas comment faire pour que la variable donnee devienne "global" (si là est le problème).
Merci d'avance.
Message édité par Paracetamol le 29-02-2008 à 13:36:07
---------------
Be Free, Be Linux, Be Penguin !