CodingHTML radio buttons

 

Press Ctrl+Enter to quickly submit your post
Quick Reply  
 
 
  
 From:  Drew (X3N0PH0N)  
 To:  ANT_THOMAS     
38188.61 In reply to 38188.60 
Like I say, varies a lot per site but yeah, a lot of sites show FF at about 40%. And some show IE on 40%. Kinda weird but... yeah, these stats are fairly useless.

0/0
 Reply   Quote More 

 From:  Drew (X3N0PH0N)  
 To:  ANT_THOMAS     
38188.62 In reply to 38188.60 
(By which I mean the stats are useless to use in absolute terms. But so long as the site measures the same thing each time, any trends are generally going to be indicative of the whole picture)

0/0
 Reply   Quote More 

 From:  Radio   
 To:  ALL
38188.63 

Yay, time for me to use my favourite picture!

 

And to be really boring and on topic - attached is an anonymised version of what I was trying to do, although it would then be extended/copy+pasted for multiple countries.

 

I like how it looks, but I'm sure that the coding is terribly inefficient and when actually extended for lots of countries would probably become unmanageable.

My life is hard, I suffer lots

Attachments:
PL2.htm

0/0
 Reply   Quote More 

 From:  99% of gargoyles look like (MR_BASTARD)  
 To:  Drew (X3N0PH0N)     
38188.64 In reply to 38188.50 
I think if someone uses not-IE they've already demonstrated their willingness to go elsewhere if something better comes along.

I think that's an oversimplification, but how substantial or not I cannot say. From personal experience, I moved away from IE when I moved to Mac since Microsoft dropped IE for that platform. I suspect the number of people who've dropped IE because it's Windows-only is relatively minor, but then there are others that have been scared off by security threats. While no browser is immune, IE's ties to the OS make it more of a liability, and once people have rid themselves of that, they may just be happy where they are.

All speculation, though. I have no stats to back this up.

bastard by name, bastard by nature

0/0
 Reply   Quote More 

 From:  Matt  
 To:  ALL
38188.65 
Do you all think Chrome be as popular if Google didn't advertise it to IE users on their homepage, or if they were required to advertise other browsers as well?

Likewise would Firefox be any more likely to see a similar climb in usage to Chrome if Mozilla operated the world's favourite search engine instead of Google?

Me, I use Firefox and Chromium (specifically SRWare Iron). I had started to favour Chromium, but have since gone back to Firefox, specifically the 4.0 betas because they rock.

doohicky

0/0
 Reply   Quote More 

 From:  Matt  
 To:  99% of gargoyles look like (MR_BASTARD)     
38188.66 In reply to 38188.64 
quote:
Microsoft


You're aware $t€v€ J¤b$ beloved Appl€ is now worth more than Microsoft, right?

doohicky

0/0
 Reply   Quote More 

 From:  milko  
 To:  Matt     
38188.67 In reply to 38188.66 
dang, I thought we had a filter on that nonsense anyway. Time to go fix, perhaps.

milko
0/0
 Reply   Quote More 

 From:  af (CAER)  
 To:  Radio      
38188.68 In reply to 38188.63 
quote:
And to be really boring and on topic - attached is an anonymised version of what I was trying to do, although it would then be extended/copy+pasted for multiple countries.

I like how it looks, but I'm sure that the coding is terribly inefficient and when actually extended for lots of countries would probably become unmanageable.

If something can be copied+pasted to deal with multiple things, it's almost always better to write it once to handle multiple things instead, because as you said, it does indeed become unmanageable.

This sort of thing, repeated 20 (!) times:
code:
//Check which checkboxes/options are selected
var f5 = (document.listofoptions.elements['Check5'].checked);
//Check if 'f5' is "true" and set to price, else set to zero
if(f5 == true)
{
var f5 = 50;
var w5 = 30;
}
else
{
var f5 = 0;
var w5 = 0;
}
Could be replaced with a loop like this:
javascript code:
// Checkbox values must be in the format: "normal,wholesale"
var checkBoxes = document.querySelectorAll("input[type=checkbox]"),
    max = checkBoxes.length, values,
    i, total = 0, totalWholesale = 0;
 
for (i = 0; i < max; i += 1) {
    if (checkBoxes[i].checked) {
        values = checkBoxes[i].value.split(",");
 
        // The + on the end is to convert the value to a number.
        total += +values[0];
        totalWholesale += +values[1];
    }
}


If you were using IE < 8, btw, querySelectorAll() would need to be replaced with a custom function to enumerate the checkboxes, which shouldn't be too complicated; probably something like this:
javascript code:
var getCheckboxes = function () {
    var i, elements = document.getElementsByTagName("input"),
        max = elements.length,
        result = [];
 
    for (i = 0; i < max; i += 1) {
        if (elements[i].type === "checkbox") {
            result.push(elements[i]);
        }
    }
    return result;
};
0/0
 Reply   Quote More 

 From:  99% of gargoyles look like (MR_BASTARD)  
 To:  Matt     
38188.69 In reply to 38188.66 
That's App£€, and no, I didn't know that.

bastard by name, bastard by nature

0/0
 Reply   Quote More 

 From:  99% of gargoyles look like (MR_BASTARD)  
 To:  af (CAER)     
38188.70 In reply to 38188.68 
i += 1? i++?

bastard by name, bastard by nature

0/0
 Reply   Quote More 

 From:  99% of gargoyles look like (MR_BASTARD)  
 To:  milko     
38188.71 In reply to 38188.67 
I wouldn't bother if I were you, it's trivially easy to circumvent.

bastard by name, bastard by nature

0/0
 Reply   Quote More 

 From:  af (CAER)  
 To:  99% of gargoyles look like (MR_BASTARD)     
38188.72 In reply to 38188.70 
I prefer i += 1 as I find it more readable, and easier to adjust.
0/0
 Reply   Quote More 

 From:  milko  
 To:  99% of gargoyles look like (MR_BASTARD)     
38188.73 In reply to 38188.71 
well, it's quite easy to add most of the workarounds too. And why would anyone bother? I don't really know why anyone would type it in the first place mind you, so I maybe at an understanding-disadvantage here.

milko
0/0
 Reply   Quote More 

 From:  99% of gargoyles look like (MR_BASTARD)  
 To:  af (CAER)     
38188.74 In reply to 38188.72 
Oddly enough, I find i++ easier to read, although I agree it's less flexible.

bastard by name, bastard by nature

0/0
 Reply   Quote More 

 From:  99% of gargoyles look like (MR_BASTARD)  
 To:  milko     
38188.75 In reply to 38188.73 
quote: milko
And why would anyone bother?

To maintain freedom of speech, deny MOD MADNESS, and retain the original meaning. Except I'm not sure what it is.

bastard by name, bastard by nature

0/0
 Reply   Quote More 

 From:  Radio   
 To:  af (CAER)     
38188.76 In reply to 38188.68 
So would that pull the values from the rows of the table, or would I have to rewrite the table to support the function?
My life is hard, I suffer lots
0/0
 Reply   Quote More 

 From:  af (CAER)  
 To:  Radio      
38188.77 In reply to 38188.76 
Well as it is you'd have to rewrite the table, but this would take the values from the table itself:
javascript code:
var checkBoxes = document.querySelectorAll("input[type=checkbox]"),
    max = checkBoxes.length,
    i, total = 0, totalWholesale = 0;
 
for (i = 0; i < max; i += 1) {
    if (checkBoxes[i].checked) {
        // Get values directly from table cells.
        total += +checkBoxes[i].parentElement.
            previousElementSibling.innerHTML;
        totalWholesale += +checkBoxes[i].parentElement.
            previousElementSibling.previousElementSibling.innerHTML;
    }
}


edit: just realised the + should be at the start of the variable names, not the end. The + at the start is a forced type conversion; an alternative is to use:
javascript code:
total += parseInt(checkBoxes[i].parentElement.previousElementSibling.innerHTML, 10);


Edit again:
Another thing I thought of was that using jQuery needn't be any hassle - you can just include this line on your page somewhere before your current JS code:
HTML code:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>


edit3: oo, jQuery 1.5 is out :O
0/0
 Reply   Quote More 

 From:  Matt  
 To:  af (CAER)     
38188.78 In reply to 38188.77 
quote:
edit3: oo, jQuery 1.5 is out


Hooray. I wonder if it breaks as much stuff as 1.3 to 1.4 did.

doohicky

0/0
 Reply   Quote More 

 From:  Radio   
 To:  af (CAER)     
38188.79 In reply to 38188.77 

So what you're saying is that I should remove all the 20 individual inspections of the checkboxes, and replace with just this code? And that it will produce the same page?

 

That doesn't work, and I'm not sure what else I'd need to do.

My life is hard, I suffer lots
0/0
 Reply   Quote More 

 From:  99% of gargoyles look like (MR_BASTARD)  
 To:  af (CAER)     
38188.80 In reply to 38188.77 

It's probably just me being anally retentive, but I bloody hate innerHTML, it's not part of the DOM and it's queer.

 

And by "queer" I mean gay and homosexual, not as in "by jove, that's a rum do and no mistake".

 

And by "gay" I mean queer and homosexual, not "having a gay old time, dahling".

 

It's a wonderful thing, this English language malarkey, isn't it?

bastard by name, bastard by nature

0/0
 Reply   Quote More 

Reply to All  
 

1–20  21–40  41–60  61–80  81–95

Rate my interest:

Adjust text size : Smaller 10 Larger

Beehive Forum 1.5.2 |  FAQ |  Docs |  Support |  Donate! ©2002 - 2024 Project Beehive Forum

Forum Stats