J'essaie de créer un formulaire AJAX qui mettra à jour le statut de Twitter lors de sa mise à jour. J'ai la forme travaillant actuellement avec PHP, mais je ne suis pas sûr de savoir comment ajouter des fonctionnalités AJAX.Mise à jour de Twitter avec le formulaire AJAX
est ici la forme:
<form id = "yourwhisper" method = "post" >
<label for="whisper">Enter your status update</label>
<textarea id="whisper" name="whisper" rows="2" cols="50" required></textarea>
<label class="error" for="whisper" id="whisper_error">Must be no more than 140 characters.</label>
<input id="lat" name="lat" style = "display:none"></input>
<input id="lon" name="lon" style = "display:none"></input>
<button type="submit" id = "submit">Pass it on</button>
</form>
C'est le php que j'avais que l'action de forme (il appelle une fonction php à partir d'une bibliothèque twitter api). Je suis maintenant déplacé pour former-Manager.php:
$t->update($_POST["whisper"], false, $_POST["lat"], $_POST["lon"]);
Enfin, voici le code jQuery qui ajoute la fonctionnalité AJAX. Il prend le texte pour la mise à jour, avec les données de géolocalisation, et le transmet au fichier form-manager.php sous la forme de 'dataString'.
<script type="text/javascript" charset="utf-8">
$(function() {
$('.error').hide();
$(".submit").click(function() {
// validate and process form here
$('.error').hide();
var whisper = $("textarea#whisper").val();
var lat= $("input#lat").val();
var lon = $("input#lon").val();
if (whisper == "") {
$("label#whisper_error").show();
$("textarea#whisper").focus();
return false;
}
var dataString = 'whisper='+ whisper + '&lat=' + lat + '&lon=' + lon;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "form-manager.php",
data: dataString,
success: function() {
// alert ("form sent");
});
}
});
return false;
});
});
</script>
Mon problème est, comment puis-je obtenir le formulaire puis-Manager.php prendre cette information et le mettre dans les 3 variables dont il a besoin de mettre à jour Twitter?
Donc, si je formater la chaîne de données pour vous assurer qu'il est exactement ce qu'il faut être affiché, ça devrait marcher? –
données: {murmurer: "Foo", lat: "xxx", lon: "xxx"} devrait le travail – Sinan
par le chemin dans votre exemple ci-dessus quelque chose comme liste ($ whisper, $ lat, $ long) = exploser (' & ', $ _POST [' dataString ']) devrait également fonctionner – Sinan