Bonjour,
J'ai un petit problème avec l'écriture d'un bout de javascript auquel je ne connais hélas pas grand chose et les tutoriaux ne m'aident plus beaucoup sur mon problème.
Mon idée est simple, j'ai un fichier index.php qui contient le code suivant :
Code :
- <html>
- <head>
- <script type="text/javascript" src="./ajax.js"></script>
- </head>
- <body>
- <form method="POST" action="add.php">
- <div style="background-color :#ccc; margin: 0px;">
- <div style="position: absolute; top:10; left:10; align="left"; width: 400px;">
- <p>Login :</br>
- <input type="text" name="login" size="20" value="<?php include("generator.php" ); ?>" maxlength="255">
- </p>
- <p>Password :</br>
- <input type="text" name="passwd" size="20" value="<?php include("pw_generator.php" ); ?>" maxlength="255">
- </p>
- <p>Titre du site :</br>
- <input type="text" name="titre" size="40" value="" maxlength="255">
- </p>
- <p>URL du site :</br>
- <input type="text" name="url" size="40" value="" maxlength="255">
- </p>
- </div>
- <div style="position: absolute; top:60; left:410; align="left"; width: 200px;">
- <p>Mot de passe maitre :</br>
- <input type="password" name="master_pw" size="20" value="" maxlength="255"></br>
- </p>
- <input type="submit" value="Envoyer" name="envoyer">
- </form>
- </div>
- </div>
- <div style="position: absolute; top:300; left:10; align="left"; width: 200px;">
- <form>
- <p>Mot de passe maitre :</br>
- <input type="password" id="master_pw2" name="master_pw2" size="20" value="" maxlength="255">
- <input type="button" value="Interroger" onclick="submitForm()">
- </p>
- <br clear="all" />
- </form>
- </div>
- <div id="divTable" style="position: absolute; top:400; left:10; align="left"; width: 1000px;">
- </div>
- </body>
- </html>
|
Donc, dans la div située en valeur absolue top:300 j'aimerais y faire apparaitre le résultat du fichier php nommé tg.php. Initialement c'était un fichier beaucoup plus long et compliqué, mais comme rien n'apparaissait, j'ai simplifié pour débugger au mieux et tg.php ne contient qu'une fonction echo, à savoir :
Code :
- <?php
- echo "tada";
- ?>
|
J'espère donc appeler ce fichier tg.php par le code javascript suivant :
Code :
- function submitForm()
- {
- var xhr;
- try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
- catch (e)
- {
- try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
- catch (e2)
- {
- try { xhr = new XMLHttpRequest(); }
- catch (e3) { xhr = false; }
- }
- }
- xhr.onreadystatechange = function()
- {
- if(xhr.readyState == 4)
- {
- if(xhr.status == 200)
- document.ajax.dyn="Received:" + xhr.responseText;
- else
- document.ajax.dyn="Error cpp " + xhr.status;
- }
- };
- var mpw = document.getElementById("master_pw2" );
- alert(""+mpw.value+"" );
- var url = "tg.php";
- xhr.open("POST", url, true);
- xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencppd" );
- xhr.send("master_pw2="+mpw.value);
- }
|
Voilà et donc mon problème c'est que je n'ai rien qui apparait dans ma page quand je teste dans mon navigateur, cliquer sur le bouton interroger ne fait rien (à part l'alerte).
L'alerte qui m'envoie la variable mpw marchant bien, j'en déduis que j'ai raté un truc avec la fonction xhr.open, xhr.setRequestHeader ou xhr.send (c'est vrai que send ne sert à rien pour le fichier tg.php, mais j'imagine qu'il ne gène pas non plus et de toute façon le fichier original lui en a bien besoin).
Si vous avez une idée sur ce que j'ai fais de travers je suis preneur.
Merci d'avance.