Browse Source

fix: refuser_traiter_formulaire_ajax() ne fonctionnait pas quand un form contenait un element avec un name ou id 'submit' + ajouter un feedback visuel en cas de resubmit (on secoue un peu le formulaire)

remotes/checkIfPRContentChanged-1657783841409211796/issue_4833_editer_auteur
Cerdic 3 months ago
parent
commit
e6d9fe83b7
  1. 1
      CHANGELOG.md
  2. 13
      prive/javascript/ajaxCallback.js
  3. 17
      prive/themes/spip/forms.css.html

1
CHANGELOG.md

@ -24,6 +24,7 @@
### Fixed
- #5256 Corriger `refuser_traiter_formulaire_ajax()` qui ne fonctionnait pas quand un form contenait un element avec un name ou id `submit`
- #4826 Vignettes fallback quand on ne sait par reduire la taille d'une image du fait de son format
- #5232 Correction notice PHP sur `signale_edition()`
- #5231 Correction deprecated PHP 8.1 sur `sql_quote(null)`

13
prive/javascript/ajaxCallback.js

@ -287,7 +287,7 @@ jQuery.fn.formulaire_dyn_ajax = function(target) {
if (leclk) {
scrollwhensubmit_button = !jQuery(leclk).is('.noscroll');
var n = leclk.name;
if (n && !leclk.disabled && leclk.type == "image") {
if (n && !leclk.disabled && leclk.type === "image") {
leclk_x = leform.clk_x;
leclk_y = leform.clk_y;
}
@ -312,13 +312,20 @@ jQuery.fn.formulaire_dyn_ajax = function(target) {
var n = leclk.name;
if (n && !leclk.disabled) {
jQuery(leform).prepend("<input type='hidden' name='"+n+"' value='"+leclk.value+"' />");
if (leclk.type == "image") {
if (leclk.type === "image") {
jQuery(leform).prepend("<input type='hidden' name='"+n+".x' value='"+leform.clk_x+"' />");
jQuery(leform).prepend("<input type='hidden' name='"+n+".y' value='"+leform.clk_y+"' />");
}
}
}
jQuery(leform).ajaxFormUnbind().submit();
jQuery(leform).ajaxFormUnbind().closest('.formulaire_spip').addClass('resubmit-noajax');
try {
leform.submit();
} catch (err) {
// just in case form has element with name/id of 'submit'
var submitFn = document.createElement('form').submit;
submitFn.apply(leform);
}
}
else {
if (!c.length || c.indexOf("ajax-form-is-ok")==-1)

17
prive/themes/spip/forms.css.html

@ -1652,3 +1652,20 @@ img.aide {
top: 50%;
transform: translateY(-50%);
}
@keyframes skew-x-shakeng{
0% { transform: skewX(-4deg); }
5% { transform: skewX(4deg); }
10% { transform: skewX(-4deg); }
15% { transform: skewX(4deg); }
20% { transform: skewX(-4deg); }
25% { transform: skewX(4deg); }
30% { transform: skewX(-4deg); }
35% { transform: skewX(4deg); }
40% { transform: skewX(0deg); }
100% { transform: skewX(0deg); }
}
.formulaire_spip.resubmit-noajax {
animation: skew-x-shakeng 0.5s;
}

Loading…
Cancel
Save