diff --git a/nur_src/v/bs3/fo/Form.php b/nur_src/v/bs3/fo/Form.php index f9ebcda..1392b61 100644 --- a/nur_src/v/bs3/fo/Form.php +++ b/nur_src/v/bs3/fo/Form.php @@ -643,7 +643,9 @@ class Form extends ComponentPrintable implements IParametrable, ArrayAccess, Cou $currentValue = $type->format($currentValue); } $param["value"] = $value; - $param["checked"] = $currentValue === $value; + #XXX en attendant le formattage ci-dessus, forcer la format texte pour que + # la comparaison puisse se faire + $param["checked"] = strval($currentValue) === strval($value); break; case self::NV: if ($value === null) $value = $this->get($key, $default); diff --git a/nur_src/v/plugins/autosubmitOnChangePlugin.php b/nur_src/v/plugins/autosubmitOnEventPlugin.php similarity index 61% rename from nur_src/v/plugins/autosubmitOnChangePlugin.php rename to nur_src/v/plugins/autosubmitOnEventPlugin.php index b4911b8..f230015 100644 --- a/nur_src/v/plugins/autosubmitOnChangePlugin.php +++ b/nur_src/v/plugins/autosubmitOnEventPlugin.php @@ -7,11 +7,12 @@ use nur\v\js; /** * Class autosubmitSelectPlugin: soumet le formulaire sur l'événement change */ -class autosubmitOnChangePlugin extends BasePlugin { +class autosubmitOnEventPlugin extends BasePlugin { const HAVE_JQUERY = true; - function __construct(string $selector, bool $cond=true) { + function __construct(string $selector, string $event="change", bool $cond=true) { $this->selector = $selector; + $this->event = $event; $this->cond = $cond; } @@ -20,13 +21,16 @@ class autosubmitOnChangePlugin extends BasePlugin { */ private $selector; + /** @var string événement sur lequel déclencher la soumission du formulaire */ + private $event; + /** @var bool ce plugin est-il activé? */ private $cond; function printJquery(): void { if (!$this->cond) return; ?> -$(selector)?>).change(function() { +$(selector)?>).on(event)?>, function() { $(this).closest("form").submit(); return false; });