Discussion:
Recuperer des valeurs lors d'un onSubmit()
(trop ancien pour répondre)
Apitos
2010-11-15 17:14:33 UTC
Permalink
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 :

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();
?>
Olivier Miakinen
2010-11-15 17:45:29 UTC
Permalink
Bonjour,
Post by Apitos
[...]
<?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;
}
Ça semble correct.
Post by Apitos
function months($selected='',$montharray){
$monthslist = "<select size='1' name='month'>";
for ( $m=1; $m <13; $m++ ){
Ok jusque là.
Post by Apitos
if($selected == $m) $monthslist .= "<option selected value='$m'>
$montharray[$i]</option>";
Attention, ta variable $m se retrouve nommée $i en indice du tableau.
Post by Apitos
else $monthslist .= "<option value='$m'>$montharray[$i]</option>";
Idem.
Post by Apitos
}
$monthslist .= "</select>";
return $monthslist;
}
Ok pour le reste (en lecture rapide).
Post by Apitos
funcion printout(){
Tu aurais dû faire un copier/coller au lieu de tout saisir à la main :
il manque un t à function !
Post by Apitos
$output ='<div id="select_date">';
$output .='<form name="selectmonthyear" action=""/>';
$output .= months(date('n'));
Tu as oublié de passer $montharray en paramètre.
Post by Apitos
$output .= years(date('Y'));
$output .='<input type="submit"
onSubmit="loadCalendar(\"this.month.value\",\"this.year.value
\");return false;" value="Go"/>';
$output .='</form></div>';
}
Et là tu as oublié d'afficher $output.
Post by Apitos
printout();
?>
Si tu ne t'en sors pas avec les corrections déjà données, merci de nous
fournir le code HTML généré en plus du code source PHP, ça sera plus
facile à débuguer.

Cordialement,
--
Olivier Miakinen
Continuer la lecture sur narkive:
Loading...