textbox id is not defined error for firefox, works fine in IE


S

Stever1975

I'm working on something similiar to a shopping cart item page. There
is a table of items. Each item has an image, a textbox for the qty
and an image for the add button.
When the add image is clicked it adds the item to the cart array and
sums it if the item already exists in the cart.
This code works perfectly fine in Internet explorer and firefox, heck
I even tested it in chrome and it works.
So everything works fine in all browsers when it's just the table of
items and the javascript code. But when this code is Included into
another page ( the page with menu, footer, and header). It errors out
in firefox with the following error (works fine in other browsers):
txt9360303S is not defined
[Break on this error] Cart[Item]=parseInt(Cart[Item]==undefine...]) +
parseInt(eval(textbox + '.value'));

(the '...' is because the debugger could not display all the code)
Both pages are in the same directory.

I'm figuring that by including it in another page I'm some how messing
up the DOM. But I can't figure how. So I guess what I'm wondering is
there a particular firefox gotcha that would cause this.




Below is the javascript function I'm using and the html for one of the
items.



<table><tr><td><input type=text size=2 value=1 name='txt9360303S'
id='txt9360303S'></td><td><div id='additem' name='additem'
onClick=AddItem('936030/3S')><img src='btnAdd1.jpg' border=0></div></
td></tr></table>


The Javascript function:

var AddItem=function(Item){

textbox='txt' + Item.replace('/','')
Cart[Item]=parseInt(Cart[Item]==undefined ? 0 : Cart[Item]) +
parseInt(eval(textbox + '.value'));
//DisplayItemQty(Item);
DisplayAllQty(Cart);
//alert(Display(Cart));

}
 
Ad

Advertisements

T

Thomas 'PointedEars' Lahn

Stever1975 said:
[...] It errors out
in firefox with the following error (works fine in other browsers):
txt9360303S is not defined
[Break on this error] Cart[Item]=parseInt(Cart[Item]==undefine...]) +
parseInt(eval(textbox + '.value'));

(the '...' is because the debugger could not display all the code)
Both pages are in the same directory.

I'm figuring that by including it in another page I'm some how messing
up the DOM. But I can't figure how. So I guess what I'm wondering is
there a particular firefox gotcha that would cause this.

Highly unlikely.
[...]
Below is the javascript function I'm using and the html for one of the
items.

<table><tr><td><input type=text size=2 value=1 name='txt9360303S'
id='txt9360303S'></td><td><div id='additem' name='additem'
onClick=AddItem('936030/3S')><img src='btnAdd1.jpg' border=0></div></
td></tr></table>


The Javascript function:

var AddItem=function(Item){

textbox='txt' + Item.replace('/','')
Cart[Item]=parseInt(Cart[Item]==undefined ? 0 : Cart[Item]) +
parseInt(eval(textbox + '.value'));
//DisplayItemQty(Item);
DisplayAllQty(Cart);
//alert(Display(Cart));

}

Your markup is not Valid and your script code is atrocious. Both are hardly
legible. Once you fixed that, the former using <http://validator.w3.org/>
and the latter by applying <http://jibbering.com/faq/#eval> and other style
guides, you will probably see the problem clear enough by yourself so not to
ask this question again.

Incidentally, FAQ 5.35 should refer to FAQs 5.34 and 5.10 on how to avoid
eval().


PointedEars
 
S

Stever1975

Stever1975 said:
[...] It errors out
in firefox with the following error (works fine in other browsers):
txt9360303S is not defined
[Break on this error] Cart[Item]=parseInt(Cart[Item]==undefine...]) +
parseInt(eval(textbox + '.value'));
(the '...' is because the debugger could not display all the code)
Both pages are in the same directory.
I'm figuring that by including it in another page I'm some how messing
up the DOM. But I can't figure how. So I guess what I'm wondering is
there a particular firefox gotcha that would cause this.

Highly unlikely.


[...]
Below is the javascript function I'm using and the html for one of the
items.
<table><tr><td><input type=text size=2 value=1 name='txt9360303S'
id='txt9360303S'></td><td><div id='additem' name='additem'
onClick=AddItem('936030/3S')><img src='btnAdd1.jpg' border=0></div></
td></tr></table>
The Javascript function:
var AddItem=function(Item){
textbox='txt' + Item.replace('/','')
Cart[Item]=parseInt(Cart[Item]==undefined ? 0 : Cart[Item]) +
parseInt(eval(textbox + '.value'));
//DisplayItemQty(Item);
DisplayAllQty(Cart);
//alert(Display(Cart));

Your markup is not Valid and your script code is atrocious. Both are hardly
legible. Once you fixed that, the former using <http://validator.w3.org/>
and the latter by applying <http://jibbering.com/faq/#eval> and other style
guides, you will probably see the problem clear enough by yourself so not to
ask this question again.

Incidentally, FAQ 5.35 should refer to FAQs 5.34 and 5.10 on how to avoid
eval().

PointedEars
--
Prototype.js was written by people who don't know javascript for people
who don't know javascript. People who don't know javascript are not
the best source of advice on designing systems that use javascript.
-- Richard Cornford, cljs, <[email protected]>

So I'm guessing you don't know the answer either...
 
D

David Mark

So I'm guessing you don't know the answer either...

I'm guessing you will ignore the very realistic advice to validate
your markup, read the FAQ about eval, etc.

Good luck with your shopping cart application.
 
R

RobG

Stever1975 said:
[...] It errors out
in firefox with the following error (works fine in other browsers):
txt9360303S is not defined
[Break on this error] Cart[Item]=parseInt(Cart[Item]==undefine....]) +
parseInt(eval(textbox + '.value')); [...]
The Javascript function:
var AddItem=function(Item){
textbox='txt' + Item.replace('/','')
Cart[Item]=parseInt(Cart[Item]==undefined ? 0 : Cart[Item]) +
parseInt(eval(textbox + '.value'));
//DisplayItemQty(Item);
DisplayAllQty(Cart);
//alert(Display(Cart));
}
Your markup is not Valid and your script code is atrocious.  Both arehardly
legible.  Once you fixed that, the former using <http://validator.w3.org/>
and the latter by applying <http://jibbering.com/faq/#eval> and other style
guides, you will probably see the problem clear enough by yourself so not to
ask this question again.
[...]

So I'm guessing you don't know the answer either...

No, he's hoping that when you go to the FAQ to read #5.35 you will
also read the following item, #5.36:

<URL: http://www.jibbering.com/faq/#globalPollution >


<FAQENTRY>

Re: FAQ 5.36

If the anchor name "globalPollution" is an attempt to link the anchor
text to the subject, it fails by being too general. I should be more
like "globalID" or "IDAsGlobalVar" similar. Cluttering the global
space with unneccessary variables is an issue, but it's not limited to
"globalising" ID attribute values.

</FAQENTRY>
 
Ad

Advertisements

S

Stever1975

On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <[email protected]>
wrote:
Stever1975 wrote:
[...] It errors out
in firefox with the following error (works fine in other browsers):
txt9360303S is not defined
[Break on this error] Cart[Item]=parseInt(Cart[Item]==undefine...]) +
parseInt(eval(textbox + '.value')); [...]
The Javascript function:
var AddItem=function(Item){
textbox='txt' + Item.replace('/','')
Cart[Item]=parseInt(Cart[Item]==undefined ? 0 : Cart[Item]) +
parseInt(eval(textbox + '.value'));
//DisplayItemQty(Item);
DisplayAllQty(Cart);
//alert(Display(Cart));
}
Your markup is not Valid and your script code is atrocious. Both are hardly
legible. Once you fixed that, the former using <http://validator.w3.org/>
and the latter by applying <http://jibbering.com/faq/#eval> and other style
guides, you will probably see the problem clear enough by yourself so not to
ask this question again.
[...]

So I'm guessing you don't know the answer either...

No, he's hoping that when you go to the FAQ to read #5.35 you will
also read the following item, #5.36:

<URL:http://www.jibbering.com/faq/#globalPollution>

<FAQENTRY>

Re: FAQ 5.36

If the anchor name "globalPollution" is an attempt to link the anchor
text to the subject, it fails by being too general. I should be more
like "globalID" or "IDAsGlobalVar" similar. Cluttering the global
space with unneccessary variables is an issue, but it's not limited to
"globalising" ID attribute values.

</FAQENTRY>

Thanks.
Realized what he was saying later on, and he is right Some of us are
newbies and toting out words like 'atrocious' is just not helpful.
How the community reacts in their forums is extremely important to
language growth and acceptance.


thanks again
 
D

dmark

On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <[email protected]>
wrote:
Stever1975 wrote:
[...] It errors out
in firefox with the following error (works fine in other browsers):
txt9360303S is not defined
[Break on this error] Cart[Item]=parseInt(Cart[Item]==undefine...]) +
parseInt(eval(textbox + '.value')); [...]
The Javascript function:
var AddItem=function(Item){
textbox='txt' + Item.replace('/','')
Cart[Item]=parseInt(Cart[Item]==undefined ? 0 : Cart[Item])+
parseInt(eval(textbox + '.value'));
//DisplayItemQty(Item);
DisplayAllQty(Cart);
//alert(Display(Cart));
}
Your markup is not Valid and your script code is atrocious.  Bothare hardly
legible.  Once you fixed that, the former using <http://validator..w3.org/>
and the latter by applying <http://jibbering.com/faq/#eval> and other style
guides, you will probably see the problem clear enough by yourself so not to
ask this question again. [...]
So I'm guessing you don't know the answer either...
No, he's hoping that when you go to the FAQ to read #5.35 you will
also read the following item, #5.36:


Re: FAQ 5.36
If the anchor name "globalPollution" is an attempt to link the anchor
text to the subject, it fails by being too general.  I should be more
like "globalID" or "IDAsGlobalVar" similar.  Cluttering the global
space with unneccessary variables is an issue, but it's not limited to
"globalising" ID attribute values.

Thanks.
Realized what he was saying later on, and he is right Some of us are
newbies and toting out words like 'atrocious' is just not helpful.

Yes it is, when it gets you to pay attention to the points made (e.g.
validate your code, don't use eval.)
How the community reacts in their forums is extremely important to
language growth and acceptance.

How you react to good advice is extremely important to your growth and
acceptance. Your code is atrocious and perhaps you should put off
writing a shopping cart application until you learn the language.
There are enough atrocious scripts out there as it is. Thank you for
your cooperation.
 
R

RobG

On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <[email protected]> [...]
Your markup is not Valid and your script code is atrocious. Both are hardly
legible. Once you fixed that, the former using <http://validator.w3.org/>
and the latter by applying <http://jibbering.com/faq/#eval> and other style
guides, you will probably see the problem clear enough by yourself so not to
ask this question again. [...]
So I'm guessing you don't know the answer either...
No, he's hoping that when you go to the FAQ to read #5.35 you will
also read the following item, #5.36:
[...]
Thanks.
Realized what he was saying later on, and he is right Some of us are
newbies and toting out words like 'atrocious' is just not helpful.
How the community reacts in their forums is extremely important to
language growth and acceptance.

Yes. If Thomas’ social skills were even half of his technical skills
he’d probably be a nice bloke. But they ain’t - c'est la vie.

I always imagine his scolding missives being delivered by a portly
grandmother with a wagging finger and a big grin, perhaps the other
hand has a fat slab of toast smeared in braunschweiger. :)
 
T

Thomas 'PointedEars' Lahn

And googlodytes with a ridiculous From header like you who know nothing,
don't want to learn anything, and start whining when they are told that this
behavior is not accepted, are lusers that are the last thing the language(s)
need(s). So turn around 180 degrees or go away, silently, please.
Yes. If Thomas’ social skills were even half of his technical skills
he’d probably be a nice bloke. But they ain’t - c'est la vie.

You don't know me.
I always imagine his scolding missives being delivered by a portly
grandmother with a wagging finger and a big grin, perhaps the other
hand has a fat slab of toast smeared in braunschweiger. :)

Certainly not Braunschweiger, as I am a vegetarian, but you got the picture :)


HTH & HAND

PointedEars
 
D

dhtml

Certainly not Braunschweiger, as I am a vegetarian, but you got the picture :)

Do you eat much soy?


http://www.ncbi.nlm.nih.gov/pubmed/15053944

Conclusion:
"The results indicate that long-term consumption of a diet rich in soy
isoflavones can have marked influences on patterns of aggressive and
social behavior."

Soy has some protease inhibitors in it too.

Try and go easy on the soy.

Garrett
 
Ad

Advertisements

S

Stever1975

On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <[email protected]>
wrote:
Stever1975 wrote:
[...] It errors out
in firefox with the following error (works fine in other browsers):
txt9360303S is not defined
[Break on this error] Cart[Item]=parseInt(Cart[Item]==undefine...]) +
parseInt(eval(textbox + '.value'));
[...]
The Javascript function:
var AddItem=function(Item){
textbox='txt' + Item.replace('/','')
Cart[Item]=parseInt(Cart[Item]==undefined ? 0 : Cart[Item]) +
parseInt(eval(textbox + '.value'));
//DisplayItemQty(Item);
DisplayAllQty(Cart);
//alert(Display(Cart));
}
Your markup is not Valid and your script code is atrocious. Both are hardly
legible. Once you fixed that, the former using <http://validator.w3.org/>
and the latter by applying <http://jibbering.com/faq/#eval> and other style
guides, you will probably see the problem clear enough by yourself so not to
ask this question again.
[...]
So I'm guessing you don't know the answer either...
No, he's hoping that when you go to the FAQ to read #5.35 you will
also read the following item, #5.36:
<URL:http://www.jibbering.com/faq/#globalPollution>
<FAQENTRY>
Re: FAQ 5.36
If the anchor name "globalPollution" is an attempt to link the anchor
text to the subject, it fails by being too general. I should be more
like "globalID" or "IDAsGlobalVar" similar. Cluttering the global
space with unneccessary variables is an issue, but it's not limited to
"globalising" ID attribute values.
</FAQENTRY>
Thanks.
Realized what he was saying later on, and he is right Some of us are
newbies and toting out words like 'atrocious' is just not helpful.

Yes it is, when it gets you to pay attention to the points made (e.g.
validate your code, don't use eval.)
How the community reacts in their forums is extremely important to
language growth and acceptance.

How you react to good advice is extremely important to your growth and
acceptance. Your code is atrocious and perhaps you should put off
writing a shopping cart application until you learn the language.
There are enough atrocious scripts out there as it is. Thank you for
your cooperation.

wrote more than a few shopping cart and they were solid, checked by
many eyes far better than mine. Totally different ball game it was all
server side, no javascript or ajax. And I said that the app was
shopping cart 'like' not a shopping cart. Trust me with my current
understanding of javascript I would not be writing an app where money
exchanges hands. I don't think I've gone bonkers or over the top in
any of my responses. And one must always remember that all our past
posts are out there for all to see. And I did admit in my last
response that pointy ears was correct, It's guys like him that will
keep newbies like me on the straight and narrow. Actually since the
post I've been seriously reviewing the FAQ.
 
Ad

Advertisements

D

dhtml

Stever1975 said:
And I did admit in my last
response that pointy ears was correct, It's guys like him that will
keep newbies like me on the straight and narrow.

Ears' poor manners do not need any encouragement.

Actually since the
post I've been seriously reviewing the FAQ.

Glad to hear you're reading the FAQ. I'm working on that. If you have
any questions, please post them up.

You might also consider subscribing to
comp.infosystems.www.authoring.stylesheets to learn more about CSS.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top