PHP - Comment présenter un menu de choix sans bouton
Est-il possible d'auto soumettre un menu de choix lors de la sélection des modifications sans l'aide d'un bouton pour soumettre le formulaire. J'ai quatre de ces sur ma page et à l'aide d'un bouton pour chacun utilise trop d'espace. Par Sélectionnez Menu, je veux dire:
<select name="something" class="something" title="something something">
<option selected="selected">Option One</option>
<option >Option Two</option>
</select>
Je tiens aussi à ajouter une fenêtre de confirmation pour l'événement de changement. La suivante est ce que j'utilise pour les boutons mais il ne fonctionne pas pour le menu select.
onclick="return confirm('do you haz teh codz?');"
Un lien vers les articles des tutoriels ou des exemples serait grandement apprécié!
Grâce
Comme les autres ont dit, vous ne pouvez pas le faire avec PHP; c'est un Javascript tâche. Je l'ai utilisé en tant que tel
OriginalL'auteur | 2010-10-27
Vous devez vous connecter pour publier un commentaire.
C'est de façon plus appropriée tagged 'javascript', puisque c'est en javascript que vous allez utiliser pour le faire.
Ajouter un 'onchange' événement pour le sélectionner. Dans l'exemple ci-dessous, la "forme" doit être remplacé par votre favori méthode de ciblage de la forme de nœud.
mwotton, merci! cela a bien fonctionné.
OriginalL'auteur mwotton
Vous avez besoin d'une solution JavaScript, pas une solution PHP. PHP ne peuvent traiter les données du formulaire après avoir été envoyé au serveur; c'est à dire, lorsque le formulaire a été soumis.
Vous pouvez utiliser JavaScript pour:
<select>
à déclencher en cas de changement (onchange
).<select>
changements, obtenir sa valeur actuelle.window.location
) à la page que vous souhaitez.Edit: j'ai re-lu votre question et si vous êtes simplement à la recherche de soumettre le formulaire lorsque l'utilisateur modifie la
<select>
, puis mwotton la réponse est probablement la voie à suivre. (Bien sûr, déplacer le code JavaScript à l'écart de l'HTML; il ne leur appartient pas.)Pour votre confirmation, vous pouvez faire quelque chose comme ceci:
(C'est toujours une bonne idée de garder votre JavaScript loin de votre code HTML. Donc, il suffit de donner votre
<select>
un ID commeid="my-select"
et vous pouvez y accéder à partir du JavaScript. Vous pouvez également utiliser une bibliothèque JavaScript comme jQuery grandement facilité votre programmation JavaScript.)Que vous auriez à faire référence à l'un en particulier ou en référence à un groupe d'entre eux (par exemple, ceux avec un nom de classe "toto"), puis vérifier leurs valeurs lorsqu'elles changent. Mais si vous êtes simplement à la recherche d'envoyer le formulaire, je n'ai honnêtement aller avec mwotton de la solution. Si vous ne voulez pas seulement de soumettre le formulaire, laissez-moi savoir ce qu'est exactement vous avez besoin d'aide et je serai heureux de vous aider.
Merci!!!! J'ai quatre sélectionner les menus sur la forme, chacun avec plusieurs options. Lorsque l'utilisateur sélectionne une option j'ai besoin de savoir qui de sélectionner la zone et sélectionnez l'option a été soumis afin que je puisse effectuer l'action appropriée.
Comment voulez-vous exécuter l'action? Voulez-vous transférer à votre script PHP (tel que défini dans
<form action="action.php">
), ou voulez-vous de les rediriger vers une URL différente?La forme se soumet à lui-même. C'est pourquoi j'ai besoin de savoir exactement ce qui était présenté. Avec le bouton soumettre, je sais comment faire pour trouver le bouton qui a été cliqué, mais avec sélectionnez menu je ne suis pas sûr.
OriginalL'auteur Josh Leitzel
Bien, vous avez besoin de connaître la forme nom/id ou quelque chose. En supposant que
<form id="selectform">
et<select id="selectelement">
,Le return false/true permettra de déterminer si ou de ne pas revenir à l'sélectionnez retour pour l'option d'origine.
Voici un test: http://jsfiddle.net/yrqcj/2/
OriginalL'auteur Kranu
Vous pouvez mettre en œuvre la onchange événement pour sélectionner un objet et à l'intérieur de la fonction de faire référence à la forme.submit();
OriginalL'auteur Nervo Verdezoto