Vorrei evitare a tutti i costi per avere inline javascript
, questo è quello che hai fatto nel codice della tua domanda: aggiungere javascript all'interno di un attributo HTML.
Le migliori pratiche è quello di aggiungere il javascript in un file separato, consultare la relativa domanda su questo principio What is Unobtrusive Javascript in layman terms?
questo modo ci sono un altro file chiamato ad esempio "myjsfile.js", allora si fare riferimento a esso dalla pagina HTML
<script src="./path/to/your/myjsfile.js"></script>
Ecco la risposta a dove posizionare questo riferimento: Where to place Javascript in a HTML file?
il tuo " myjsfile.js" file potrebbe semplicemente:
window.onload = function(){
getSubs(...);
getTags(...);
};
Un'altra cosa da evitare: aggiungere javascript all'interno dello stesso file HTML. Il motivo per cui si basa anche sullo stesso principio di unobstrusive javascript
. What is Unobtrusive Javascript in layman terms?
Ma credo che ci sono casi in angolo in cui si consiglia di farlo.
Se avete davvero, non utilizzare per window.onload
invece della linea javascript onload="..."
, capire perché qui window.onload vs <body onload=""/>
Basta aggiungere il seguente al file HTML:
<script type="text/javascript">
window.onload = function(){
getSubs(...);
getTags(...);
};
</script>
Ecco la risposta a dove per inserire questo codice:
Nota: Sì, nello stesso posto in cui si inserire il riferimento a un file javascript esterno
Un'altra cosa: non so dove sono definiti i tuoi getSubs()
e getTags()
funzioni. Ma se vuoi che il tuo codice funzioni, devi chiamare queste funzioni dopo che il file (o parte di javascript) che li ha definiti è stato caricato.
In breve: assicurarsi che il file javascript che contiene le definizioni di getSubs()
e getTags()
viene fatto riferimento prima il codice.
si dovrebbe davvero evitare gestori in linea. rendono il tuo codice irraggiungibile. Ad ogni modo apparentemente non hai errori di sintassi – fcalderan
Vedi anche: [Perché il codice CSS e JavaScript in linea è una cosa così brutta] (http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code -is-come-a-bad-cosa /). Inoltre, l'accesso ai form direttamente come proprietà di 'document' non è standard. Accedervi come proprietà di 'document.forms' e gli elementi come proprietà della proprietà' elements' del modulo (ad es. 'Document.forms..elementi.HotelId') o direttamente tramite ID (ad esempio' document.getElementById ('HotelID')) ', supponendo che l'input denominato 'HotelID' abbia anche lo stesso ID). – outis
Non sono sicuro se fa alcuna differenza ma le due funzioni eseguono una richiesta AJAX. –