Jump to content

Problema con campi personalizzati - da textarea a input


eugenata

Recommended Posts

Ho un grosso problema con i campi personalizzati ma forse riuscite ad aiutarmi perchè non credo sia difficile.

Allora ho aggiunto 3 campi personalizzati di tipo test da far compilare al cliente (nome, indirizzo email), ho impostato i campi come obbligatori.

 

Tutto funziona correttamente.

 

Poi ho modificato il file product.tpl del mio template per trasformare i campi personalizzati da <textarea> a <input>.

 

I nuovi campi input vengono visualizzati correttamente ma quando clicco per aggiungere al carrello, mi esce un alert per ricordarmi di compilare i campi richiesti obbligatori (questi campi sono stati compilati e salvati correttamente ma è come se non l'avessi fatto).

 

Se non è presente alcun campo obbligatorio, tutto funziona correttamente.

Se rimetto la <textarea> al posto dell' <input> tutto torna a funzionare correttamente.

 

Però a me serve per forza il campo <INPUT>.

 

Aiutatemi, per favore. :wacko:

Link to comment
Share on other sites

Nel file Product.tpl, ho sostituito questo codice:

 

{if $product->text_fields|intval}
  <h2>{l s='Texts'}</h2>
  <ul id="text_fields">
{counter start=0 assign='customizationField'}
{foreach from=$customizationFields item='field' name='customizationFields'}
 {if $field.type == 1}
  <li class="customizationUploadLine{if $field.required} required{/if}">{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}
<textarea type="text" name="textField{$field.id_customization_field}"
id="textField{$customizationField}" rows="1" cols="40" class="customization_block_input" />
{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}</textarea>
  </li>
  {counter}
 {/if}
{/foreach}
  </ul>
  {/if}

 

Con questo:

 

{if $product->text_fields|intval}
  <h2>{l s='Texts'}</h2>
  <ul id="text_fields">
{counter start=0 assign='customizationField'}
{foreach from=$customizationFields item='field' name='customizationFields'}
 {if $field.type == 1}
  <li class="customizationUploadLine{if $field.required} required{/if}">{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}
<input type="text" name="textField{$field.id_customization_field}"
id="textField{$customizationField}" class="customization_block_input"
value="{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}" />
  </li>
  {counter}
 {/if}
{/foreach}
  </ul>
  {/if}

 

I campi sono visualizzati correttamente ma se sono obbligatori non vengono considerati e ricevo un alert che mi dice di compilare tutti i campi obbligatori quando clicco per aggiungere il prodotto al carrello

Link to comment
Share on other sites

  • 3 weeks later...

Perchè devi usare per forza input e non textarea come da origine ?

Non ricevo le notifiche, pensavo che nessuno avesse risposto... grazie Germanoufo.

 

Quello che vorrei è non dare all'utente la possibilità di srivere righe multiple, neanche per sbaglio.

I dati raccolti verranno gestiti da un programma in C++ esterno di cui non conosco il funzionamento però il programmatore ha detto che ha bisogno preferibilmente di campi input.

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...