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

Discussion in 'Javascript' started by Stever1975, Oct 12, 2008.

  1. Stever1975

    Stever1975 Guest

    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));

    }
    Stever1975, Oct 12, 2008
    #1
    1. Advertising

  2. 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 '...' 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, <f806at$ail$1$>
    Thomas 'PointedEars' Lahn, Oct 12, 2008
    #2
    1. Advertising

  3. Stever1975

    Stever1975 Guest

    On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <>
    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 '...' 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, <f806at$ail$1$>


    So I'm guessing you don't know the answer either...
    Stever1975, Oct 12, 2008
    #3
  4. Stever1975

    David Mark Guest

    On Oct 12, 6:28 pm, Stever1975 <> wrote:
    >
    > 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.
    David Mark, Oct 13, 2008
    #4
  5. Stever1975

    dhtml Guest

    Thomas 'PointedEars' Lahn wrote:
    > Stever1975 wrote:



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


    Duly noted.

    >
    > PointedEars


    Garrett

    --
    comp.lang.javascript FAQ <URL: http://jibbering.com/faq/ >
    dhtml, Oct 13, 2008
    #5
  6. Stever1975

    RobG Guest

    On Oct 13, 8:28 am, Stever1975 <> wrote:
    > On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <>
    > 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 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>


    --
    Rob
    RobG, Oct 13, 2008
    #6
  7. Stever1975

    Stever1975 Guest

    On Oct 12, 10:59 pm, RobG <> wrote:
    > On Oct 13, 8:28 am, Stever1975 <> wrote:
    >
    >
    >
    > > On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <>
    > > 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>
    >
    > --
    > Rob


    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
    Stever1975, Oct 13, 2008
    #7
  8. Stever1975

    Guest

    On Oct 13, 3:47 pm, Stever1975 <> wrote:
    > On Oct 12, 10:59 pm, RobG <> wrote:
    >
    >
    >
    > > On Oct 13, 8:28 am, Stever1975 <> wrote:

    >
    > > > On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <>
    > > > 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:

    >
    > > <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>

    >
    > > --
    > > Rob

    >
    > 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.
    , Oct 13, 2008
    #8
  9. Stever1975

    RobG Guest

    On Oct 14, 5:47 am, Stever1975 <> wrote:
    > On Oct 12, 10:59 pm, RobG <> wrote:
    > > On Oct 13, 8:28 am, Stever1975 <> wrote:
    > > > On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <>

    [...]
    > > > > 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>

    [...]
    > 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. :)


    --
    Rob
    RobG, Oct 13, 2008
    #9
  10. RobG wrote:
    > On Oct 14, 5:47 am, Stever1975 <> wrote:
    >> 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.


    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
    --
    Use any version of Microsoft Frontpage to create your site.
    (This won't prevent people from viewing your source, but no one
    will want to steal it.)
    -- from <http://www.vortex-webdesign.com/help/hidesource.htm>
    Thomas 'PointedEars' Lahn, Oct 13, 2008
    #10
  11. Stever1975

    dhtml Guest

    Thomas 'PointedEars' Lahn wrote:
    > RobG wrote:
    >> On Oct 14, 5:47 am, Stever1975 <> wrote:


    >
    > 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

    >
    > HTH & HAND
    >
    > PointedEars



    --
    comp.lang.javascript FAQ <URL: http://jibbering.com/faq/ >
    dhtml, Oct 14, 2008
    #11
  12. dhtml wrote:
    > Thomas 'PointedEars' Lahn wrote:
    >> RobG wrote:
    >>> On Oct 14, 5:47 am, Stever1975 <> wrote:

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

    >
    > Do you eat much soy? [...]


    My, my, what a lamer you are.


    F'up2 poster

    PointedEars
    --
    var bugRiddenCrashPronePieceOfJunk = (
    navigator.userAgent.indexOf('MSIE 5') != -1
    && navigator.userAgent.indexOf('Mac') != -1
    ) // Plone, register_function.js:16
    Thomas 'PointedEars' Lahn, Oct 14, 2008
    #12
  13. Stever1975

    Stever1975 Guest

    On Oct 13, 3:53 pm, wrote:
    > On Oct 13, 3:47 pm, Stever1975 <> wrote:
    >
    >
    >
    > > On Oct 12, 10:59 pm, RobG <> wrote:

    >
    > > > On Oct 13, 8:28 am, Stever1975 <> wrote:

    >
    > > > > On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <>
    > > > > 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>

    >
    > > > --
    > > > Rob

    >
    > > 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.
    Stever1975, Oct 14, 2008
    #13
  14. Stever1975

    dhtml Guest

    Stever1975 wrote:
    > On Oct 13, 3:53 pm, wrote:
    >> On Oct 13, 3:47 pm, Stever1975 <> wrote:
    >>
    >>
    >>
    >>> On Oct 12, 10:59 pm, RobG <> wrote:
    >>>> On Oct 13, 8:28 am, Stever1975 <> wrote:
    >>>>> On Oct 12, 5:48 pm, Thomas 'PointedEars' Lahn <>
    >>>>> wrote:
    >>>>>> Stever1975 wrote:



    > 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.


    --
    comp.lang.javascript FAQ <URL: http://jibbering.com/faq/ >
    dhtml, Oct 14, 2008
    #14
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. JDeats
    Replies:
    2
    Views:
    553
    JDeats
    Sep 11, 2007
  2. Avi
    Replies:
    1
    Views:
    106
    Martin Honnen
    Oct 24, 2005
  3. Replies:
    4
    Views:
    247
    Randy Webb
    Feb 18, 2006
  4. dasayu
    Replies:
    1
    Views:
    137
    Thomas 'PointedEars' Lahn
    May 22, 2006
  5. mehstg1319
    Replies:
    2
    Views:
    100
    mehstg1319
    Apr 14, 2008
Loading...

Share This Page