Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

boutton et bash

2 réponses
Avatar
Punky Brewster
Bonjour

Je cherche à créer un bouton ajax qui, lorsqu'il est cliqué, fait un
$touch /tmp/toto

J'ai essayé en php mais la solution ne me convient pas car la page est
rechargée et je souhaite juste avoir une confirmation du style "Ok"
lorsque l'action est effectuée.

Merci

2 réponses

Avatar
SAM
Le 20/09/10 13:43, Punky Brewster a écrit :
Bonjour

Je cherche à créer un bouton ajax qui, lorsqu'il est cliqué, fait un
$touch /tmp/toto

J'ai essayé en php mais la solution ne me convient pas car la page est
rechargée et je souhaite juste avoir une confirmation du style "Ok"
lorsque l'action est effectuée.



Donc on répète et révise ce qui a été dit sur l'autre NG :

Le bouton va lancer un javascript qui va appeler via XMLHttpRequest ton
fichier php qui :
- va faire le "touch"
- et renverra 'OK' quand il a fini.


<script type="text/javascript" src="touch.js"></script>
</head>
<body>
<p>'toto' est donné au départ par le php (ici en mode template)
<p><button onclick="touch('{toto}')">comptage</button>
<span id="compt"></span>

le span 'compt' pour afficher le résultat du clic (le fameux OK)

Pour 'touch.js' et sa fonction touch(fichier) à y créer, voir :
<https://developer.mozilla.org/fr/AJAX/Premiers_pas>


Avec le code exemple donné par mozilla ci-dessus, je pense que
tu peux aussi, au lieu d'utiliser 'responseText' et se tracasser pour
l'afficher sur la page, faire :

function alertContents(httpRequest) {
if (httpRequest.readyState == 4) alert('action réalisée ? '+
((httpRequest.status == 200)? 'OK' : 'NON'));
}

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Punky Brewster
Le Mon, 20 Sep 2010 14:09:34 +0200, SAM a écrit :


Le bouton va lancer un javascript qui va appeler via XMLHttpRequest ton
fichier php qui :
- va faire le "touch"
- et renverra 'OK' quand il a fini.




Bonjour

J'ai un peu avancé sur mon problème qui m'en a apporté un autre.

J'ai réussi à faire fonctionner parfaitement mon bouton avec ce code:

(Quand je clique sur le bouton, $mon_parametre" est envoyé à
mon_script_php.php, qui renvoi un message dans le div "response") :

...
<script type="text/javascript" src="form.js"></script>
...
<div id="response" name="response"></div>
<td>
<form method="POST" name="myform" id="myform">
<input type="hidden" name="message" value="$mon_parametre">
<input type="button" value="Envoi" onclick="getMessageResponse
(document.myform.message.value);">
</form>
</td>

Le form.js :

function getMessageResponse(str)
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.getElementById('response').innerHTML=xmlHttp.responseText;
document.myform.message.value = '';
}
}
var url="mon_script_php.php";
url=url+"?message="+str;
url=url+"&sid="+Math.random();
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

Maintenant mon nouveau soucis c'est de pouvoir placer plusieurs boutons
de ce type sur la même page. J'ai essayé en créant form2.js et en
modifiant les valeurs mais j'ai du faire une erreur. Et accessoirement,
je n'arrive pas à changer le bouton pour le remplacer par une image, est-
ce possible avec ce type de script ?

Merci d'avance