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>