Appel fonction JavaScript dans réponse serveur via ajax.request
bonjour,
voila mon probleme
a partir d'un bouton radio, j'effectue une ajax.request qui appelle un fichier php.
Le but est d'afficher un textarea pour envoyer un sms avec un compteur qui denombre le nombre de caracteres tape.
Cette fonction updatecounters marche nickel sans passage par ajax mais le decompte ne fonctionne plus par cette methode. J'ai bien le textearea qui s'affiche mais c'est tout, pas de decompte .....
Voivi les differents codes
Code:
1 2 3 4
| echo "<input type=\"radio\" id=\"message_doc1\" name=\"message_doc\" value=\"1\" onclick=\"getMedecin(document.getElementById('message_doc1').value,'send_message');\"> Oui <input type=\"radio\" id=\"message_doc2\" name=\"message_doc\" value=\"0\" onclick=\"getMedecin(document.getElementById('message_doc2').value,'send_message');\" checked> Non</p>";
echo "<span id=\"send_message\">";
include 'send_message.php';
echo "</span>"; |
Dans le meme fichier php, voici ma fonction GetMedecin
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| function getMedecin(value,name) {
var url = name+'.php';
parametre="sms="+value;
var myAjax = new Ajax.Request (
url,
{
method: "post",
evalScripts: true,
parameters : parametre,
onSuccess: function transResult (response) {
document.getElementById(name).innerHTML=response.responseText;
},
onFailure: function transResult (response) {
alert ('Failure'+response.responseText);
}
}
);
return false;
} |
Pour finir, mon fichier php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <?php
if (isset($_POST['sms'])) {
$sms=$_POST['sms'];
if ($sms==1) {
?>
<script language="JavaScript" type="text/javascript">
<!--
function updateCounters(text_area_id, display_chars_id, display_sms_id) {
var text_area = document.getElementById(text_area_id);
var display_chars = document.getElementById(display_chars_id);
var display_sms = document.getElementById(display_sms_id);
if(text_area && display_chars && display_sms){
if(display_chars.type)
display_chars.value = text_area.value.length;
else
display_chars.innerHTML = text_area.value.length;
if(display_sms.type)
display_sms.value = Math.ceil(text_area.value.length/160);
else
display_sms.innerHTML = Math.ceil(text_area.value.length/160);
}
}
//-->
</script>
<?php
echo "SMS:<div><span id=\"nb_sms\">0</span> (<span id=\"nb_chars\">0</span> chars)</div>";
echo "<p><label for=\"send_sms_doc\">SMS au médecin:</label><textarea name=\"send_sms_doc\" rows=\"5\" cols=\"50\" onKeyUp=\"updateCounters('text', 'nb_chars', 'nb_sms')\">SMS</textarea></p>";
}
}
?> |
Une idee ?
J'ai fais deja pas mal de recherche avec prototype, evalscripts, eval, window.eval mais je n'arrive a rien !!!!
Voila
:cry::cry: