469,304 Members | 2,192 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,304 developers. It's quick & easy.

Velocita di getElementById

Ciao a tutti,

sto sviluppando una jsp che mostra all'utente una serie di celle sulle
quali ad ogni
evento onclick() eseguo la routine SelezionaSpazio passando gli id sia
della cella
che dei livelli superiodi di raggruppamento su cui ad ogni click devo
sommare o
sottrarre 1.

Il colore della cella deve cambiare inoltre da coloreOn a coloreOff. Le
celle sulla pagina sono in media di 300.

Secondo voi, calcolando che ad
ogni click devo modificare anche dei campi hidden, corretto il mio
modo di accedere ai singoli elementi dell'HTML???

Esistono modi per accedere alle variabili HTML in modo piu rapido?

Grazie

//************************************************** ***************************//

function selezionaSpazio(idtabe, idcomune, idstrada, colorOn,
colorOff) {

// Verifico che lo spazio sia selezionabile
var selezionabile = document.getElementById('slz' + idtabe);
if (selezionabile.value == 'S') {

var calledByScript = arguments[1];
var tabe = document.getElementById('tbl' + idtabe);
var sceltoComune = document.getElementById('slc' + idcomune);
var sceltoStrada = document.getElementById('sls' + idstrada);
var scelta = document.getElementById('ssp' + idtabe);
//var scelta = document.getElementByName('SELSPEJ' + idtabe);
var prezzo = document.getElementById('prs' + idtabe);

var valorePre = document.getElementById('valpre');

var immagscelta = document.getElementById('bas' + idtabe);

var immagopzione = document.getElementById('bal' + idtabe);
var opzione = document.getElementById('opz' + idtabe);

document.JPRE02.SAVPAGJ.value = 'N';

if (!tabe) return;
if (scelta.value != 'S') {
tabe.bgColor = colorOn;
tabe.title = 'Spazio prenotato';
sceltoComune.value = Number(sceltoComune.value)+ 1;
sceltoStrada.value = Number(sceltoStrada.value)+ 1;
scelta.value = "S";
immagscelta.src='../gif/led-red.gif';
immagscelta.alt='Spazio selezionato';
valorePre.value = parseFloat(valorePre.value) +
parseFloat(prezzo.value);
}
else {
tabe.bgColor = colorOff;
tabe.title = 'Spazio non prenotato';
sceltoComune.value = Number(sceltoComune.value)- 1;
sceltoStrada.value = Number(sceltoStrada.value)- 1;
scelta.value = "N";
immagscelta.src='../gif/led-gray.gif';
immagscelta.alt='Seleziona Spazio';
immagopzione.src='../gif/led-gray.gif';
opzione.value = 'N';
immagopzione.alt='Opziona Spazio';
valorePre.value = parseFloat(valorePre.value) -
parseFloat(prezzo.value);
}

//if (!calledByScript) saveCategState();

// Verifico se lo spazio era gia venduto
var giavenduto = document.getElementById('gvn' + idtabe);
if (giavenduto.value == 'S') {
tabe.bgColor = '#CCCCCC';
tabe.title = 'Spazio venduto';
selezionabile.value = 'N'
immagscelta.src='../gif/led-red.gif';
}

}

}

//************************************************** ***************************//

May 22 '06 #1
2 1194
JRS: In article <11*********************@i39g2000cwa.googlegroups. com>,
dated Mon, 22 May 2006 04:41:23 remote, seen in
news:comp.lang.javascript, lorologiodoro <cm******@gmail.com> posted :
Esistono modi per accedere alle variabili HTML in modo piu rapido?
function selezionaSpazio(idtabe, idcomune, idstrada, colorOn,
colorOff) {

// Verifico che lo spazio sia selezionabile
var selezionabile = document.getElementById('slz' + idtabe);
AIUI, that must search through all the IDs until it finds the one
wanted. Possibly, if you can put all those elements in a Form, and
identify the form as (effectively) var F = this.form, you can address
the elements within the form and search only within the form. Newsgroup
FAQ & FAQ notes may help.

Also, you could do some of the lookups in onLoad code, and store the
references in global variables for use later - e.g. valorePre.

sceltoComune.value = Number(sceltoComune.value)+ 1;
General : with S a string, +S should be faster than Number(S) + 1.
Particular : How about sceltoComune.value++ ??

valorePre.value = parseFloat(valorePre.value) +
parseFloat(prezzo.value);


Likewise, faster,
valorePre.value = +valorePre.value + +prezzo.value ;

Don't let your posting agent line-wrap code; posted code should be
directly executable. Indent with two or three spaces.

I regret to say that there's only one thing I can write in Italian; I
don't know exactly what it means, but it seems irrelevant here.

--
John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4
<URL:http://www.jibbering.com/faq/> JL/RC: FAQ of news:comp.lang.javascript
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
May 22 '06 #2
hi,
thank you for your help...
my IDs are already putted in a form ...

what do you mean when you talk about form? ... do you mean that the
variable value returns faster if i use document.form.SELEZI.value in
stead of getelementbyID?

on your opinion how could i store values in global variables in the
onLoad code? ... how can i update HTML variables from global variables?
....

thank you
and...
sorry for my poor english! :)

May 23 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by PaulB | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
reply views Thread by harlem98 | last post: by
1 post views Thread by Geralt96 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.