Jump to content

Perte de la quantité après l'upload d'un fichier


Recommended Posts

Bonjour,

 

je m'explique...

 

dans la fiche produit, le client sélectionne et remplit les options/champs dans l'ordre logique de la page.

C-à-d qu'il commence par selectionner les options, entre une quantité et personnalise son produit.

Le problème est qu'une fois le fichier, choisit par le client, est validé, la page garde bien la sélection des options mais pas la quantité qui retombe à 1.

 

Je voudrais donc pouvoir garder la quantité saisie puis la replacer dans le champ quantité de la page une fois le fichier uploadé.

 

Pour le moment je parvient à conserver cette valeur mais impossible de l'afficher dans le champ quantité

 

Voici mon code:

 

product.tpl

 

dans la partie champ quantité

<label id="label_quantity">{l s='Quantity:'}</label>
<input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{elseif isset($recupQ)}{$recupQ}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} onchange="$('#Q_save').val(this.value)"/>

<!-- si le texte change, la valeur est aussi placé dans le champ Q_save (voir code ci-dessous) -->

dans la partie personnalisation coté bouton Enregistrer le fichier choisit

<p id="customizedDatas">
     <!-- je rajoute un champ qui contient la nouvelle valeur saisie dans quantité -->
     <input type="text" name="Q_save" id="Q_save" />
     <input type="hidden" name="submitCustomizedDatas" value="1" />
     <input type="button" class="button" value="{l s='Save'}" onclick="var clik_ok=1; javascript:saveCustomization()" />
     <span id="ajax-loader" style="display:none"><img src="{$img_ps_dir}loader.gif" alt="loader" /></span>
</p>

ProductController.php

foreach ($_FILES AS $fieldName => $file)
if (in_array($fieldName, $authorizedFileFields) AND isset($file['tmp_name']) AND !empty($file['tmp_name']))
{
        //ici je récupère la valeur afin de la retourner dans product.php
	if(!empty($_POST['Q_save'])
	{
		$recupQ = $_POST['Q_save'];
                $this->context->smarty->assign('recupQ', $recupQ);
	}

Donc jusqu'ici tout va bien sur ma page product.tpl je retrouve bien la valeur de $recupQ mais quand j'essaie de l'attribuer au champ quantity_wanted celui-ci reste à 1

 

j'ai essayer en javascript

<script LANGUAGE="JavaScript">
	{literal}
		document.getElementById('quantity_wanted').value=12;
	{/literal}
</script>

<!-- j'ai même testé avec une valeur en dur comme ici -->

J'ai essayé avec une condition sur l'input quantity_wanted (si $recupQ existe alors l'afficher) et même avec une valeur en dur mais j'ai toujours la valeur 1.

 

 

Alors que si j'ajoute onchange à l'input Q_save :

<input type="text" name="Q_save" id="Q_save" onchange="$('#quantity_wanted').val(this.value)"/>

et bien là, le champ quantity_wanted prend la valeur du champ Q_save...

 

Je n'y comprend rien. Quelqu'un peut-il m'aiguiller ?

 

Merci d'avance

Edited by frieurieud (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...