Jump to content

Formulaire Inscription


Recommended Posts

Bonjour a tous

je cherche un moyen de reduire les champs, notamment nom et prenom.

 

qui est demandé 2 fois sur prestashop. une fois pour les informations personnelles, creation de compte.

l'autre fois pour la creation d'adresse.

 

je voulais savoir s'il etait possible de couplé les 2 champs.

je modifie un module de demande de devis

<div class="col-sm-6">
                    <h3 id="new_account_title" class="page-subheading">{l s='New Customer' mod='askforaquote'}</h3>
                    <!-- Error return block -->
                    <div id="opc_account_errors" class="error" style="display:none;"></div>
                    <!-- END Error return block -->
                    <!-- Account -->
                    <input type="hidden" id="is_new_customer" name="is_new_customer" value="0" />
                    <input type="hidden" id="opc_id_customer" name="opc_id_customer" value="{if isset($guestInformations) && $guestInformations.id_customer}{$guestInformations.id_customer}{else}0{/if}" />
                    <input type="hidden" id="opc_id_address_delivery" name="opc_id_address_delivery" value="{if isset($guestInformations) && $guestInformations.id_address_delivery}{$guestInformations.id_address_delivery}{else}0{/if}" />
                    <input type="hidden" id="opc_id_address_invoice" name="opc_id_address_invoice" value="{if isset($guestInformations) && $guestInformations.id_address_delivery}{$guestInformations.id_address_delivery}{else}0{/if}" />
                    <p class="required text">
                        <label for="email">{l s='E-mail' mod='askforaquote'} <sup>*</sup></label>
                        <input type="text" class="text form-control" id="email" name="email" value="{if isset($guestInformations) && $guestInformations.email}{$guestInformations.email}{/if}" />
                    </p>
                    <p class="required password is_customer_param" style="display:none">
                        <label for="passwd" >{l s='Password' mod='askforaquote'} <sup>*</sup></label>
                        <input type="password" class="text form-control" name="passwd" id="reg_passwd" value="000000" />
                        <span class="form_info">{l s='(5 characters min.)' mod='askforaquote'}</span>
                    </p>
                 
                    <p class="required text">
                        <label for="firstname">{l s='First name' mod='askforaquote'} <sup>*</sup></label>
                        <input type="text" class="text form-control" id="customer_firstname" name="customer_firstname" onblur="$('#firstname').val($(this).val());" value="{if isset($guestInformations) && $guestInformations.customer_firstname}{$guestInformations.customer_firstname}{/if}" />
                    </p>
                    <p class="required text">
                        <label for="lastname">{l s='Last name' mod='askforaquote'} <sup>*</sup></label>
                        <input type="text" class="text form-control" id="customer_lastname" name="customer_lastname" onblur="$('#lastname').val($(this).val());" value="{if isset($guestInformations) && $guestInformations.customer_lastname}{$guestInformations.customer_lastname}{/if}" />
                    </p>
                </div>
				
                <div class="col-sm-6">
                    {foreach from=$dlv_all_fields item=field_name}
                    {if $field_name eq "company"}
                    <p class="text hideSimple">
                        <label for="company">{l s='Company' mod='askforaquote'}</label>
                        <input type="text" class="text form-control" id="company" name="company" value="{if isset($guestInformations) && $guestInformations.company}{$guestInformations.company}{/if}" />
                    </p>
                    {elseif $field_name eq "firstname"}
                    <p class="required text hideout" >
                        <label for="firstname">{l s='First name' mod='askforaquote'} <sup>*</sup></label>
                        <input type="text" class="text form-control" id="firstname" name="firstname" value="{if isset($guestInformations) && $guestInformations.firstname}{$guestInformations.firstname}{/if}" />
                    </p>
                    {elseif $field_name eq "lastname"}
                    <p class="required text hideout">
                        <label for="lastname">{l s='Last name' mod='askforaquote'} <sup>*</sup></label>
                        <input type="text" class="text form-control" id="lastname" name="lastname" value="{if isset($guestInformations) && $guestInformations.lastname}{$guestInformations.lastname}{/if}" />
                    </p>
                    {elseif $field_name eq "address1"}
                    <p class="required text hideSimple">
                        <label for="address1">{l s='Address' mod='askforaquote'} <sup>*</sup></label>
                        <input type="text" class="text form-control" name="address1" id="address1" value="{if isset($guestInformations) && $guestInformations.address1}{$guestInformations.address1}{/if}" />
                    </p>
                    {elseif $field_name eq "address2"}
                    <p class="text is_customer_param hideSimple">
                        <label for="address2">{l s='Address (Line 2)' mod='askforaquote'}</label>
                        <input type="text" class="text form-control" name="address2" id="address2" value="" />
                    </p>
                    {elseif $field_name eq "postcode"}
                    <p class="required postcode text hideSimple">
                        <label for="postcode">{l s='Zip / Postal code' mod='askforaquote'} <sup>*</sup></label>
                        <input type="text" class="text form-control" name="postcode" id="postcode" value="{if isset($guestInformations) && $guestInformations.postcode}{$guestInformations.postcode}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
                    </p>
                    {elseif $field_name eq "city" || $field_name eq "city,"}
                    <p class="required text hideSimple">
                        <label for="city">{l s='City' mod='askforaquote'} <sup>*</sup></label>
                        <input type="text" class="text form-control" name="city" id="city" value="{if isset($guestInformations) && $guestInformations.city}{$guestInformations.city}{/if}" />
                    </p>
                    {elseif $field_name eq "country" || $field_name eq "Country:name"}
                    <p class="required select hideSimple">
                        <label for="id_country">{l s='Country' mod='askforaquote'} <sup>*</sup></label>
                        <select name="id_country" id="id_country" class="form-control">
                            <option value="">-</option>
                            {foreach from=$countries item=v}
                            <option value="{$v.id_country}" {if (isset($guestInformations) AND $guestInformations.id_country == $v.id_country) OR (!isset($guestInformations) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'htmlall':'UTF-8'}</option>
                            {/foreach}
                        </select>
                    </p>
                 
                    {/if}
                    {/foreach}

pour faciliter l'envoi

 

 

 

post-548698-0-56275700-1450428146_thumb.png

Link to comment
Share on other sites

Une solution serait de mettre les champs pour la livraison en type="hidden" et de remplir simultanément les 2 champs en js avec un truc du genre :

$('#customer_firstname').on('change',function(){
$('#firstname').val($(this).val());
});
$('#customer_lastname').on('change',function(){
$('#lasstname').val($(this).val());
});
Link to comment
Share on other sites

Sinon dans le controller, tu dois pouvoir réutiliser les données envoyées depuis le formulaire et ne récupérer que les premiers nom et prénom.

Je n'ai pas le module donc je peux pas te dire réellement comment faire, mais en théorie, c'est possible

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