COMMENT déteminer quel bouton est pressé lors d'une soumission programmée

La discussion la plus pointée auj sur Google est http://stackoverflow.com/questions/3577469/form-onsubmit-determine-which-submit-button-was-pressed 

Marrante discussion : des solutions extremment compliquées sont proposées et même votées ! Je vous propose de favoriser 2 solutions "Vanilla JS", Javascript Pur Sucre, selon votre besoin:
  1. Si un code javascript doit savoir quel bouton est pressé lors d'une soumission programmée (5 votes):

    <form onsubmit="alert(this.submitted); return false;">
        <input onclick="this.form.submitted=this.value;" type="submit" value="Yes" />
        <input onclick="this.form.submitted=this.value;" type="submit" value="No" />
    </form>
    

    Le champ "submitted" est dynamiquement ajouté à l'objet formulaire, c'est classe.
  2. Si le serveur cible du formulaire doit savoir quel bouton est pressé lors d'une soumission programmée (typiquement en ajax, avec sérialisation programmée des champs du formulaire, comme le fait jQuery):

    <form onsubmit="some_ajax_submitting_the_form(); return false;">
        <input id="submitted" name="submitted" type="hidden"/> 
        <input onclick="document.getElementById('submitted').value=this.value;" type="submit" value="Yes" />
        <input onclick="document.getElementById('submitted').value=this.value;" type="submit" value="No" />
    </form> 
    

    Le champ "submitted" est sérialisable avec les autres champs et peut ainsi être transmis au serveur.

Commentaires

Posts les plus consultés de ce blog

COMMENT FAIRE un tableau scrollable avec entêtes fixes en html/css sans js

Changer de compte google sur Android

Un front graphique sur Jira, ça devait forcément, évidemment, arriver