2009-11-15 4 views
9

Ho questa semplice forma:cosa è attr 'gtbfieldid' e come evitare il comportamento di autocompletamento?

class PagoDesde(forms.Form): 
    from django import forms as f 
    desde = f.DateField(input_formats=['%d/%m/%Y']) 

nel mio modello:

{{ form.desde }} 

E ha associato un jqueryui.datepicker nel document.ready

$("#id_desde").datepicker(); 

Il risultato HTML è:

<input type="text" id="id_desde" name="desde" 
class="hasDatepicker" gtbfieldid="598"/> 

e funziona benissimo, ma ho

2 domande:

  • Che cosa è gtbfieldid="598"? jquery lo aggiunge?
  • come evitare il comportamento di completamento automatico dei browser in questo campo di testo?

grazie :)

risposta

11
  1. L'attributo gtbfieldid si aggiunge dinamicamente dalla Google Toolbar per le <input> e <select> tag che si pensa di poter compilare per voi.

  2. Se si aggiunge l'attributo autocomplete="off" al tag <form> che li contiene, poi la barra degli strumenti Google non aggiungere questi gtbfielid attributi, e la sua funzionalità di riempimento automatico non sarà disponibile durante la compilazione quella forma.

Entrambi questi attributi sono non-standard XHTML, in modo che il modulo non riuscirà convalida, ma se questo comportamento riempimento automatico sta causando problemi per i tuoi visitatori, aggiungendo poi l'attributo autocomplete="off" è l'unica soluzione per fermare la barra degli strumenti di Google da manipolando i tuoi elementi del modulo e offrendo di provare a riempirlo per l'utente.

Ecco come quando si imposta l'attributo di completamento automatico (in django):

class PagoDesde(forms.Form): 
    from django import forms as f 
    desde = f.DateField(input_formats=['%d/%m/%Y'], 
         widget=forms.TextInput(attrs={'autocomplete': 'off'})) 
+0

thx per le informazioni complete :) – panchicore

+1

Volevo solo aggiungere il mio commento editoriale, Google dovrebbe essere sparato in faccia per non aver espandendo la g in "google". Che spreco di tempo. Il rovescio della medaglia, FF dovrebbe essere girato in faccia per non colorare l'attributo in modo diverso o che indica che è stato aggiunto attraverso la sceneggiatura. –

+0

E, grazie per essere entrato nella mia ricerca su google. ;) –