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.