Rom1906 Posted March 6, 2014 Share Posted March 6, 2014 (edited) Bonjour à tous, Dans le but d'insérer un calendrier datepicker à un champ de personnalisation, j'ai transformé le textarea en input. En version 1.5.4.1 tout fonctionnait parfaitement mais depuis la mise à jour vers la version 1.5.6.2, lors de l'ajout au panier, un message d'erreur me demande de renseigner les champs requis à la personnalisation. Or, ce champ est déjà renseigné car il ré-affiche la valeur sélectionnée précédemment. Si je repasse ce champ en textarea, il n'y a plus de problème. Je pense donc que le souci est lié au type de champ mais pour datepicker, il me faut un champ input et non textarea. Avez-vous une solution à me suggérer ??? Le problème vient-il vraiment du type de champ ??? Merci d'avance Edited March 6, 2014 by Rom1906 (see edit history) Link to comment Share on other sites More sharing options...
math_php Posted March 7, 2014 Share Posted March 7, 2014 Bonjour, Le textarea a un 'innerHtml' alors que le input à un 'value' ça peut expliquer des différences de fonctionnement au niveau du javascript. Cordialement Link to comment Share on other sites More sharing options...
Rom1906 Posted March 7, 2014 Author Share Posted March 7, 2014 Merci pour cette information mais comment corriger le problème s'il vient de là ??? Link to comment Share on other sites More sharing options...
math_php Posted March 7, 2014 Share Posted March 7, 2014 Une solution pourrait etre de ne pas afficher le textarea avec un display:none en css. Et de le remplir à la volée avec le contenu du datepicker. Mais bon sans avoir le site et le code sous les yeux, c'est juste une piste de recherche. Link to comment Share on other sites More sharing options...
Rom1906 Posted March 7, 2014 Author Share Posted March 7, 2014 Voici le code prestashop de base (commenté) puis celui que j'ai ajouté pour le champ input : <li class="customizationUploadLine{if $field.required} required{/if}"> <label for ="textField{$customizationField}">{assign var='key' value='textFields_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field} {if !empty($field.name)}{$field.name}{/if}{if $field.required}<sup>*</sup>{/if}</label><br/> {*<textarea type="text" name="textField{$field.id_customization_field}" id="textField{$customizationField}" rows="1" cols="40" class="datepicker customization_block_input" />{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}</textarea>*} <input type="text" name="textField{$field.id_customization_field}" id="textField{$customizationField}" class="datepicker customization_block_input" value="{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}" readonly onchange="javascript:saveCustomization()" /> </li> Link to comment Share on other sites More sharing options...
math_php Posted March 7, 2014 Share Posted March 7, 2014 Dans l'idée ça donnerait ça : <li class="customizationUploadLine{if $field.required} required{/if}"> <label for ="textField{$customizationField}">{assign var='key' value='textFields_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field} {if !empty($field.name)}{$field.name}{/if}{if $field.required}<sup>*</sup>{/if}</label><br/> <textarea type="text" name="textField{$field.id_customization_field}" id="textField{$customizationField}" rows="1" cols="40" style="display:none" />{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}</textarea> <input type="text" name="mondatePicker" id="mondatePicker" class="datepicker customization_block_input" value="{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}" readonly onchange="$('#textField{$customizationField}').html(this.value) ;javascript:saveCustomization()" /> </li> 1 Link to comment Share on other sites More sharing options...
Rom1906 Posted March 7, 2014 Author Share Posted March 7, 2014 C'est parfait, ca fonctionne très bien. Merci pour ce coup de pouce Link to comment Share on other sites More sharing options...
math_php Posted March 7, 2014 Share Posted March 7, 2014 A tester et re tester mais ça devrait fonctionner. Link to comment Share on other sites More sharing options...
Rom1906 Posted March 19, 2014 Author Share Posted March 19, 2014 (edited) Ça fonctionne lors de l'enregistrement d'un premier produit mais lorsque l'on veut ajouter un second article au panier, lors de la sélection de la date, celle-ci apparaît dans le champs textarea en display: none mais pas dans le champs input. Le visiteur ne voit pas la date sélectionnée, pourtant elle est bien enregistrée. La valeur est dans le code source mais le navigateur ne l'affiche pas !!! J'ai testé sous chrome, firefox et ie. Le problème persiste... Comment contrer ce problème ? Merci Edited March 19, 2014 by Rom1906 (see edit history) Link to comment Share on other sites More sharing options...
Rom1906 Posted March 20, 2014 Author Share Posted March 20, 2014 Problème enfin réglé ! Une variable similaire me bloquait dans le récap panier. Une fois cette variable mise en commentaire tout est ok. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now