Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai une ou plusieurs case à cocher générés dynamiquement pour activer des options de mes fonctionnalités. Mais ne connaissant donc pas forcément le nombre de case à cocher de chacune d'entre elle, je dois pouvoir poster en JSON les cases à cocher "unchecked". Mais pour avoir un JSON propre dans le POST je ne peux pas mettre un input hidden car le serializeArray va envoyer deux valeurs pour la même case.
Donc j'ai du enlever le use_hidden_element pour mes cases a cocher.
Sauf que quand je ne les check pas, rien n'est envoyé en POST pour cette donnée, comme si elle n'existait pas. Je ne pense pas que Zend Framework 2 ait prévu une alternative autre que le input hidden pour gérer ce cas là.
Je dois donc modifier ce script Javascript pour que le JSON envoie correctement les donnée a mon controlleur.
[lang=javascript] $(".switch-checkbox").on('switchChange.bootstrapSwitch', function(event, state) { event.preventDefault(); var data = JSON.stringify($('form[name="option"]').serializeArray()); $.ajax({ url: "<?php echo $this->url('widget/saveConfigure') ?>", dataType: 'json', contentType: 'application/json', async: true, data: data, type: 'post', beforeSend : function() { $(".flash-message > p").html(''); $('.flash-message').addClass("hidden"); }, success: function (data) { $(".flash-message > p").html('').append("Changement pris en compte avec succès"); $('.flash-message').removeClass("hidden"); }, error: function () { console.log("Error..."); } }); });
Donc quand je coche une donnée j'ai ceci (et ça marche déjà)
[lang=javascript] [{"name":"idConfig","value":"12"},{"name":"addDataFac","value":"1"}]
Mais si je ne coche pas, je n'ai rien alors que j'aimerai avoir ceci :
[lang=javascript] [{"name":"idConfig","value":"12"},{"name":"addDataFac","value":"0"}]
Votre aide est apprécié si vous avez déjà rencontré ce problème.
Hors ligne
Tu veux envoyer les données des checkbox qu'elles soient ou pas coché ?
Comment tu vas différencier les 2 du coup ?
Pour les hidden tu peux les préfixer pour pas avoir les memes noms
Hors ligne