Demo - dva formuláře

Ukázka některých pokročilý funkcí Smartformu. Především je zde předvedeno použití dvou formulářů se Smartformem na jedné HTML stránce. Také je ukázáno několik úprav vzhledu Smartformu a volání callbacku.

Adresa zákazníka:

  • změněný vzhled - barvy menu našeptávače
  • na poli prvním poli je zvětšen našeptávač na 20 řádků
20 položek našeptávače

Dodací adresa

  • na posledním poli je našeptávač vypnut
  • po vložení adresy je zavolána callback funkce, která zobrazí vybrané části adresy
našeptávač PSČ je vypnutý

Zdrojový kód - JavaScript:

  
  <script type="text/javascript" src="https://secure.smartform.cz/api/v1/smartform.js" async></script>
  <script type="text/javascript">
    var smartform = smartform || {};
    
    smartform.beforeInit = function () {
        smartform.setClientId('[zde doplňte klientské ID]');
    }
    smartform.afterInit = function () {
        // ziskani instance prvniho Smartform formulare
        var instanceZakaznik = smartform.getInstance('smartform-instance-zakaznik');

        // nastaveni elementu pro vystup defaultniho statusu    
        instanceZakaznik.setStatusBox('stavAdresyZakaznika');

        // nastaveni barvicek
       instanceZakaznik.setBackgroundColor('gray');
       instanceZakaznik.setForegroundColor('#009');
       instanceZakaznik.setSelectionBackgroundColor('#CC6699');
       instanceZakaznik.setBorderColor('rgb(100%,100%,0%)');

       // nastaveni velikosti naseptavace na max 20 radku
       instanceZakaznik.getBox('smartform-street-and-number').setLimit(20);

       // ziskani instance druheho Smartform formulare
       var instanceDodaci = smartform.getInstance('smartform-instance-dodaci');

       // dodani callbacku pro vlastni reseni vypisovani statusu
       instanceDodaci.addAnnounceCallback(function (validationType, addressArray) {
         var result = '<br/><div>výsledek validace: '+validationType+' &nbsp;(viz <a href="dokumentace-api.html#ValidationResultType">ValidationResultType</a>)</div>';
         if (validationType == smartform.ValidationResultType.HIT) {
           var address = addressArray[0];
           result += '<div>část obce: '+address[smartform.AddressFieldType.PART]+'</div>';
           result += '<div>okres: '+address[smartform.AddressFieldType.DISTRICT]+'</div>';
         }
         var element = document.getElementById('addressResultDodaci');
         element.innerHTML = result;
       }
       );
    }
  </script>
  

Zdrojový kód - HTML:

  
  <h2>Adresa zákazníka:</h2>
  <form>
	<div >
	    <label for="smartform_ulice_zakaznik">Ulice a číslo</label>
	    <input id="smartform_ulice_zakaznik" type="text" class="smartform-instance-zakaznik smartform-street-and-number" />
	    <span for="smartform_ulice_zakaznik">20 položek našeptávače</span>
	</div>
	<div>
	    <label for="smartform_obec_zakaznik">Obec</label>
	 	<input id="smartform_obec_zakaznik" type="text" class="smartform-instance-zakaznik smartform-city" />
	</div>
	<div>    
	    <label for="smartform_psc_zakaznik">PSČ</label>
	   	<input id="smartform_psc_zakaznik" type="text" class="smartform-instance-zakaznik smartform-zip" />
	</div>
	<div id="stavAdresyZakaznika"></div>
  </form>
  </div>

  <h2>Dodací adresa</h2>
  <form>
	<div >
	    <label for="smartform_ulice_dodaci">Ulice</label>
	    <input id="smartform_ulice_dodaci" type="text" class="smartform-instance-dodaci smartform-street" />
	</div>
	<div >
	    <label for="smartform_ulice_dodaci">Číslo</label>
	    <input id="smartform_ulice_dodaci" type="text" class="smartform-instance-dodaci smartform-number" />
	</div>
	<div>
	    <label for="smartform_obec_dodaci">Obec</label>
	 	<input id="smartform_obec_dodaci" type="text" class="smartform-instance-dodaci smartform-city" />
	</div>
	<div>    
	    <label for="smartform_psc_dodaci">PSČ</label>
	   	<input id="smartform_psc_dodaci" type="text" class="smartform-instance-dodaci smartform-zip" />
	   	<span>našeptávač PSČ je vypnutý</span>
	</div>
	<div id="addressResultDodaci">
	</div>
  </form>
  

Hlavní navigace: