Voilà ce que j'ai pour l'instant:
dans mon HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Simple Spry Posting Form</title>
<style type="text/css">
body{font-family:Arial,Helvetica;}
.container{padding:10px;}
.notice{padding:5px;background-color:#FFF8B2;border:1px solid maroon;margin-bottom:15px;width:600px;display:none}
</style>
<script src="Spry_1_6_1_022408/includes/SpryData.js" type="text/javascript"></script>
<script src="Spry_1_6_1_022408/includes/SpryEffects.js" type="text/javascript" ></script>
<script type="text/javascript">
//To submit data without refresh we usually use loadURL function with inclusion of SpryData.js.
//There are two layers here one is used to contained the form, the other is used for notice.
//The one used for notice comes with fade effect which will trigger when the callback function
//is triggered.
function triggerSubmit(){
var data1_value = document.sample.data1.value;
var data2_value = document.sample.data2.value;
var formData = 'data1='+data1_value+'&data2='+data2_value;
//The next line is to encode the variables values e.g. weird characters to make it safe for transfer
formData = encodeURI(formData);
var url ="http://www.monsite.com/process.php";
Spry.Utils.loadURL('POST', url, true, ReturnWithEffect, {postData: formData, headers: {"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"}});
}
function ReturnWithEffect(req){
//We use xhRequest to received notification from server side, usually the process file will return with an echo/write.
var result = req.xhRequest.responseText;
document.getElementById("notice").innerHTML = result;
FadeEfx.start();
}
</script>
</head>
<body>
<div class="container">
<div class="notice" id="notice"></div>
<script type="text/javascript">
//By placing this script just below the layer notice, you can call function FadeEfx anytime, by using FadeEfx.start();
var FadeEfx = new Spry.Effect.Fade('notice');
</script>
<form name="sample" method="get" action="process.php">
<p>Data 1 : <input type="text" name="data1" id="data1"></p>
<p>Data 2 : <input type="text" name="data2" id="data2"></p>
<p><input type="button" value="AJAX POST!" onclick="triggerSubmit()"> </p>
</form>
</div>
</body>
</html>
dans mon fichier process.php
<?php
$data1 = $_POST["data1"];
$url = "http://www.monsite.com/";
$urlready = $url . $data1. "/index.html";
print("<script type=\"text/javascript\">setTimeout('location=(\"$urlready\")' ,1000);</script>");
?>
Je n'ai pas besoin que le formulaire retourne les valeurs (comme c'est le cas actuellement) juste que le navigateur ouvre l'url contenue dans la variable $urlready.
Merci pour votre aide