Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Récupérer des valeurs lors d'un onSubmit()


apt

Messages recommandés

Bonjour à tous,

 

J'aimerais récupérer deux valeurs d'un formulaire lors de l'évènement onSubmit(), pour les injecter comme paramètres dans la fonction javascript loadcalandar(month,year).

 

J'ai utiliser :

 

this.month.value

pour le champ month

 

et

 

this.year.value

pour le champ year.

 

mais en retour je n'ai que des valeurs vides :enerve:

 

loadCalendar("","");

 

<?php	
// define array
$montharray = array('', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); 


function years($selected=''){
	$yearslist = "<select size='1' name='year'>";
	for ( $y=1970; $y <2022; $y++ ){
		if($selected == $y) $yearslist .= "<option selected value='$y'>$y</option>";
		else $yearslist .= "<option value='$y'>$y</option>";
	}
	$yearslist .= "</select>";
	return $yearslist;
}


function months($selected='',$montharray){
	$monthslist = "<select size='1' name='month'>";
	for ( $m=1; $m <13; $m++ ){
		if($selected == $m) $monthslist .= "<option selected value='$m'>$montharray[$i]</option>";
		else $monthslist .= "<option value='$m'>$montharray[$i]</option>";
	}
	$monthslist .= "</select>";
	return $monthslist;
}

funcion printout(){

	$output ='<div id="select_date">';
	$output .='<form name="selectmonthyear" action=""/>';
	$output .= months(date('n'));
	$output .= years(date('Y'));
	$output .='<input type="submit" onSubmit="loadCalendar(\"this.month.value\",\"this.year.value\");return false;" value="Go"/>';
	$output .='</form></div>';
}	

printout();
?>

Modifié par apt
Lien vers le commentaire
Partager sur d’autres sites

J'ignore ce que tu crois récupérer avec this.month et this.year mais si tu veux les valeurs des options sélectionnées dans les listes déroulantes dont les id sont "month" et "year" ce n'est pas comme cela que tu les auras. Ah pardon, ils n'ont même pas d'id mais uniquement un name, ce qui signifie que tu ne peux pas y accéder directement proprement en Javascript.

Autre problème, tu parles de Javascript mais le code fourni est en PHP. Quel rapport entre les deux ? Pourquoi la fonction PHP qui est appelée ne fait que remplir une variable et n'en fait absolument rien ensuite ? Pourquoi y a-t-il un tableau de mois qui est défini et pas utilisé ? Pourquoi personne ne semble savoir que les locales sont correctement gérables et qu'il est possible de faire cracher à PHP le nom d'un mois sans avoir à définir soi-même un tableau ??

Dernier point, que cherches-tu à déclencher sur l'événement "submit" alors que celui-ci est censé envoyer les données du formulaire au serveur Web ? Si tu veux juste déclencher quelque chose localement sans aller-retour au serveur, fais-toi un bouton (input de type "button") et utilise l'événement "click"...

 

Il y a trop d'incohérences à mon goût, ça va être difficile de t'aiguiller en l'état. Que cherches-tu à faire ?

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...