JavaScript: Can I declare a variable by querying which function is called? (Newbie)

Posted by belle3WA on Stack Overflow See other posts from Stack Overflow or by belle3WA
Published on 2012-03-20T17:20:55Z Indexed on 2012/03/20 17:29 UTC
Read the original article Hit count: 152

Filed under:
|

I'm working with an existing JavaScript-powered cart module that I am trying to modify. I do not know JS and for various reasons need to work with what is already in place.

The text that appears for my quantity box is defined within an existing function:

function writeitems() {

var i;
for (i=0; i<items.length; i++) {
    var item=items[i];
    var placeholder=document.getElementById("itembuttons" + i);
    var s="<p>";

    // options, if any
    if (item.options) {
        s=s+"<select id='options"+i+"'>";
        var j;
        for (j=0; j<item.options.length; j++) {
            s=s+"<option value='"+item.options[j].name+"'>"+item.options[j].name+"</option>";
        }
        s=s+"</select>&nbsp;&nbsp;&nbsp;";
    }



// add to cart

    s=s+method+"Quantity: <input id='quantity"+i+"' value='1' size='3'/> ";

    s=s+"<input type='submit' value='Add to Cart' onclick='addtocart("+i+"); return false;'/></p>";
    }


    placeholder.innerHTML=s;
}
refreshcart(false);
}

I have two different types of quantity input boxes; one (donations) needs to be prefaced with a dollar sign, and one (items) should be blank.

I've taken the existing additem function, copied it, and renamed it so that there are two identical functions, one for items and one for donations. The additem function is below:

function additem(name,cost,quantityincrement) {
if (!quantityincrement) quantityincrement=1; 
var index=items.length;
items[index]=new Object;
items[index].name=name;
items[index].cost=cost;
items[index].quantityincrement=quantityincrement;

document.write("<span id='itembuttons" + index + "'></span>");

return index;

}

Is there a way to declare a global variable based on which function (additem or adddonation) is called so that I can add that into the writeitems function so display or hide the dollar sign as needed? Or is there a better solution?

I can't use HTML in the body of the cart page because of the way it is currently coded, so I'm depending on the JS to take care of it.

Any help for a newbie is welcome. Thanks!

© Stack Overflow or respective owner

Related posts about function

Related posts about variables