sonne comme une simple question. J'ai ajouté un peu de jQuery Magic: Cependant, une fois que c'est en place, mon formulaire Soumettre le gestionnaire ne s'appelle pas. P> Ceci est un formulaire personnalisé sur mon propre chemin défini dans Hook_menu: P> Array
(
[op] = Save
[form_build_id] => form-6e74c87390e3fc48d0bebd2f5193315b
[form_token] => 33db6e34c0350e33c48861a63a38d45f
[form_id] => dh_seo_workload_item_form
)
4 Réponses :
Je pense que le fait que vous attachez à l'événement de clic du bouton signifie que le bouton est désactivé avant que l'événement de clic ne puisse bouillir au formulaire et provoquer une soumission. p>
Notre équipe a trouvé que la désactivation du bouton d'envoi crée presque toujours des problèmes pour Internet Explorer. Nous avons fait un petit plugin pour résoudre le problème; Voir le code ici: https://stackoverflow.com/a/4473801/4376 P>
Merci pour votre solution. Je recommande d'utiliser Bind au lieu de vivre car Live a été obsolète.
@Roger - en fait on () code> est la version mise à jour.
Bind CODE> est également obsolète et, contrairement à
Live code> ou
sur code>, travaillé uniquement pour des éléments de la page au moment de l'invocation. Corrigé en conséquence.
Oh je vois. Merci Nathan!
Je l'ai réparé cet après-midi de cette façon et a été en mesure d'obtenir les informations de formulaire soumises sans problème:
$("#id_of_button").click(function() { var submit = $(this); setTimeout(function(){ submit.attr('disabled','disabled') },1); });
ou vous pouvez le faire, comme une addition à une doublure au niveau de la matrice de formulaire PHP ...
$form['submit'] = array( '#type' => 'submit', '#value' => t('Save'), '#attributes' => array( 'onclick' => 'javascript:var s=this;setTimeout(function(){s.value="Saving...";s.disabled=true;},1);', ), );
Il suffit de masquer votre bouton d'envoi ( Le problème est dû car les boutons désactivés ne déclenchent pas les post-forts. P> Affichage: Aucune code>) et montrez un autre bouton déjà désactivé à la place. Je pense que c'est moins hack que le reste des solutions pour ce problème. J'ai généralement 2 boutons sur ma page, une visible et l'autre non, et onClick, il suffit de les changer. P>
J'ai également ajouté une réponse à la question que vous avez liée (je pense) une solution moins hacky.
Est-ce que cela n'est peut-être pas appelé dû au bouton désactivé en cas de clic. Ma solution ci-dessous utilise Settimeout à 1 ms pour contourner cela.