11489 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous

je ne suis pas une star en js et je bloque sur le fait de contrôler un formulaire généré dynamiquement (id et ou name des <input>)
Le formulaire contient uniquement des checkbox, radio et textarea (sondage).

L'idée est que je puisse récupérer les nom ou id de chaque input et texarea, (jusqu'ici je m'en sors) puis de les contrôler un par un (c'est là ou j'ai des pb)

Ci dessous un bout de code qui repère les input, et qui tente de traiter les champs de type radio, mais qui ne fonctionne pas...


function ajx_post_sond() {

var inputList = document.getElementById('reponses').getElementsByTagName('input');
var nb_input = inputList.length;
	for(i=0; i<nb_input; i++) {
		input_nom = inputList[i].name;
		input_type = inputList[i].type;
		
		if(input_type == 'radio') {
			for(var j=0; j<input_nom.length; j++) {
				if(input_nom[j].checked == false) {
					alert("Cocher la case");
				}
			}
		}
        }
}


Merci J.[/i][/i]
salut,
il faut qu'à chaque fois que tu crées un élément dynamiquement, tu réinitialise tes variables "inputList" et "nb_input".
J'ai trouvé la solution, merci Jquery...

Que le formulaire soit dynamique ou pas en fait, il suffit d'utiliser la fonction serialize() pour récupérer les données postées d'un formulaire (input, select, texarea)

exemple de post ajax en jquery sur un formulaire portant l'id toto :

function ajx_post() {
	var data = $('#toto').serialize();
	
	$.ajax({
		url: '../f_record.php',
		type: "POST",
		data: data,
		dataType: "html",
		success:
		function(retour) {
			alert(retour);
		}		
	});
}


Faire un print_r($_POST); dans votre fichier de traitement php pour constater le retour.

Je ne dirais qu'un mot: Excellent !