L'utilisation d'une boucle FOR à l'intérieur d'un appel AJAX
Donc, ce que j'essaie de faire c'est d'envoyer une requête AJAX, mais comme vous pouvez le voir j'ai beaucoup de champs dans mon formulaire, et j'utilise un tableau pour faire les validations, je voudrais utiliser le même tableau, de transmettre les valeurs à envoyer via AJAX:
Je n'ai jamais utilisé la boucle en JS, mais semble familier de toute façon.
La façon dont la boucle est faite, évidemment coutume de travail:
for (i=0;i<required.length;i++) {
var required[i] = $('#'+required[i]).attr('value');
Cela va créer les variables que je veux, comment les utiliser?
ESPÉRONS-le, les gars, vous pouvez m'aider!!! Merci beaucoup!
required = ['nome','sobrenome','endereco','codigopostal','localidade','telemovel','email','codigopostal2','localidade2','endereco2','nif','entidade','codigopostal3','localidade3','endereco3','nserie','modelo'];
function ajaxrequest() {
for (i = 0; i < required.length; i++) {
var required[i] = $('#' + required[i]).attr('value');
var dataString = 'nome=' + required[0] + '&sobrenome=' + required[1];
}
$.ajax({
type: "POST",
url: "ajaxload/como.php",
data: dataString,
success: function() {
$(".agendarleft").html("SUCESS");
}
});
- comment puis-je faire une boucle "for", à l'aide d'un tableau?
- Ouais c'est pas très clair. Avoir un coup de couteau à déchiffrer ce; vous vous demandez comment faire pour obtenir les valeurs que vous mettez dans votre
required
tableau passé en tant que paires clé/valeur dans votre POST de demande de la manière qu'ils le feraient si vous avais soumis un formulaire? - vous avez déjà fait une boucle for, aussi loin que je peux dire il doit en boucle sur chaque valeur dans
required
et d'obtenir les valeurs de champs avec ces Identifiants. Vous n'êtes pas à vous faire très bien compris. - découvrez le var dataString, vous pensez que la sortie sera correct?
- Je ne sais pas ce que vous attendez, alors, je ne peux pas vous dire. Aussi, je n'ai pas n'importe où pour exécuter ce code, mais je dirais que vous ne faites pas ce que vous voulez. On dirait que vous avez l'intention
dataString
pour contenir 'nome=<user-input>&sobrenome=<user-input>', mais pour cela il vous faut le mettre après lefor
boucle, pas à l'intérieur. Vous devez également définir le tableau de valeurs à l'extérieur de lafor
boucle et le remplir à l'intérieur. Oh, et je voudrais stocker les valeurs dans un tableau différent de celui que vous avez l'Id plutôt que de l'écraser. - soyez prudent avec la déclaration des variables à l'intérieur des boucles. En fonction de la langue, votre variable sera uniquement disponible à l'intérieur de la boucle. Je crois que c'est bien avec javascript mais pas une grande habitude à prendre.
Vous devez vous connecter pour publier un commentaire.
Pour aider à s'assurer que l'élément Id et les valeurs sont passées en boucle à travers les différents éléments et d'ajouter des données à un objet le premier.
jQuery:
Démo: http://jsfiddle.net/kPR69/
params[i] = ele + '=' + $('#' + ele).attr('value');
Tout le reste est parfait!!!! Vous êtes l'homme, merci!Ce qui serait beaucoup plus propre serait de mettre une classe sur chacun des champs que vous souhaitez enregistrer et l'utiliser pour effectuer une itération à travers eux. Ensuite, vous n'avez pas besoin de spécifier les noms d'entrée et vous pouvez envoyer un objet json directement au Service;
Puis envoyer obj comme la propriété data de votre appel AJAX....
Il existe quelques problèmes avec votre code. 'required' est écrasé et est également en cours de re-déclarée à l'intérieur de la boucle.
Je voudrais suggérer à l'aide de pré-écrits de la bibliothèque, un peu j'ai inclus ci-dessous.
http://jquery.malsup.com/form/#validation
https://github.com/posabsolute/jQuery-Validation-Engine
Sinon, la suite vous la fermer. Vous pouvez avoir besoin de convertir le tableau en une chaîne de caractères.
}