C'est fondamentalement ce que dit le titre. J'ai un formulaire avec un contrôle SELECT que je souhaite forcer le formulaire à poster sur vous-même sur le changement.
$bmsclientlist = $clientobj->getBMSClientList();
echo '<form name="changebmsid" method="post" action="' . $_SERVER['PHP_SELF'] . '"><select name="bmsid">';
foreach($bmsclientlist as $bmsclient) {
$var = '';
if($client['bmsid'] == $bmsclient['id']) {
$var = ' selected="selected"';
}
echo '<option value="' . $bmsclient['id'] .'"'. $var .'>' .$bmsclient['clientname'] . '</option>';
}
echo '</select></form>';
$backupobj = new AdminBackup();
if(isset($_POST['bmsid']){
$statusarray = $backupobj->getStatusTotalsbyId($_POST['bmsid']);
}else{
$statusarray = $backupobj->getStatusTotals();
}
3 Réponses :
Ceci est un
Notez que, même si c'est la voie essentielle de le faire, ce n'est pas un code sémantique - l'ondange doit être résumé à la tête du document ou à un script externe à l'aide d'un événement DOM Load, tel que JQuery $ (document) .Ready code >
Bel exemple simple de JS non obstrissant.
Dans votre exemple, quel est le bénéfice à utiliser jQuery? @adam, seriez-vous en mesure de modifier la réponse d'André pour refléter vos suggestions? Je suis curieux de faire cela mieux.
@Ryanedwards, le commentaire d'Adam mentionnait la première partie de ma réponse. La partie JQuery reflète déjà ses suggestions avec jQuery placé au document
cela.form.submit (); est plus facile à réutiliser.
Une solution rapide est ceci:
Ajoutez un attribut Onchange à votre sélection de sélection p>
<select name="bmsid" onchange="javascript: form.submit();">
Changez votre menu SELECT sur ceci:
<script type="text/javascript">
window.onload = function() {
document.forms['myform'].addEventListener('change', function() {
this.submit();
}, true);
};
</script>