Goodies To Go! Newsletter #366

By Vince Barnes

************************************************************
Goodies to Go (tm)
December 6, 2005 -- Newsletter # 3
66
 
This newsletter is part of the internet.com network.
http://www.internet.com
 

************************************************************

Featured this week:
 
*   Goodies Thoughts - Seasonal Shopping
*   Q & A Goodies
*   News Goodies
*   Feedback Goodies
*   Windows Tech Goodie of the Week 
*   And Remember This...
 
************************************************************
 
Seasonal Shopping
 
The madness is here again!
 
Each year at this time all the malls around here get filled to the brim with people buying gifts for the holiday season.  If you are brave or foolish enough to be one of them, you can expect to be jostled, hustled, squeezed and treated to a variety of similar unpleasantries.  What's more, you can expect to be parking almost as far from the mall as you live, and if you have to bring large purchases out to the car to relieve your tired arms while you are only halfway through your list, there's a risk they won't be there when you return.
 
OK!  So maybe that's just a touch too cynical a look at it, but it does indicate how I fell about shopping at this time of year.  I don't like malls at the best of times, but when they're crowded they are particularly bad.
 
The second best thing to do about it is to complete your shopping tasks by the end of August!  The best, however, is, as you will have guessed, to shop from the comfort of your keyboard.
 
Shopping from the web is, in my humble opinion, absolutely the best way to go.  "But it's so risky," I hear from the peanut gallery.  Here, then, are a few of my thoughts about web shopping.
 
This is THE best way to shop - when you need help, it's right there.  If you want to find out more about a product you don't have to ask a kid who started working in the store that morning, you can go right to the manufacturer and ask them.  As to price, once you have selected your product, you can compare hundreds of vendors at light speed using one of the many price monitoring search engines.
 
It is secure.  The top source for stolen credit/debit card numbers is restaurants. Next come over the counter stores.  The Internet is actually quite a way down.
 
It's convenient.  It's always open, there are no lines (queues), there are no parking problems and nobody cares if I don't shower or get dressed before shopping (assuming I'm the only one home, that is!!)
 
There are no hustlers or pickpockets around my computer, and I can verify the identity of everyone I do business with.
 
Without waiting or traveling anywhere I can have items gift wrapped, a message attached and the gift delivered right to the recipient's door.
 
Oh yes, the web is a wonderful place in so many ways!
 
 
 
 
 

Thanks for reading!
 
 
 
 
 
- Vince Barnes
 
 
 
 
 
************************************************************
 
Q & A Goodies
***********************************
Questions are taken from submissions to our Community
Mentors. You can ask a Mentor a question by going to
http://www.htmlgoodies.com/mentors/
 
 
Q. I have a problem with JavaScript programs.  A lot of times I create variables and then when I try to use them I get an error saying that they are undefined.  Why is this?  Here is an example of when this happens:
<SCRIPT LANGUAGE="JavaScript">
function part1()
{
var a = 1;
}
function part2()
{
if (a == 1)
{
document.form.textbox.value = "The variable worked, finally!!!";
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="form">
<INPUT TYPE="RADIO" NAME="why_doesnt" VALUE="the_variable_work" onClick="part1();">
<INPUT TYPE="BUTTON" VALUE="Variable work?" onClick="part2();">
<INPUT TYPE="TEXT" NAME="textbox" VALUE="If the variable worked, a message would appear here.">
</FORM>
If I write this in a document and click the button, an error message comes up saying that it is undefined.  I've tried creating the variable directly from the event handler, renaming the variable, using checkboxes instead of radio buttons, and nothing works.  I have tried putting an alert box in the function and it comes up so I know the function is executing.  It just won't remember the variable.
 
A. You are declaring a as a variable from within a function. This makes it a local variable that is only accessable by that function.  You can make it a global variable that is accessable by any function by declaring it from outside any functions, but still between the script tags. Usually global variables are declared before the first function for the sake of clarity, but they can be declared from anywhere between the script tags, just not inside a function. Here's your script with a as a global variable:
<SCRIPT LANGUAGE="JavaScript">
var a = 0; // declares a as a global variable and initializes it to 0
function part1()
{
a = 1; // the function sets the global variable a to equal 1
}
function part2()
{
if (a == 1)
{
document.form.textbox.value = "The variable worked, finally!!!";
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="form">
<INPUT TYPE="RADIO" NAME="why_doesnt" VALUE="the_variable_work" onClick="part1();">
<INPUT TYPE="BUTTON" VALUE="Variable work?" onClick="part2();">
<INPUT TYPE="TEXT" NAME="textbox" VALUE="If the variable worked, a message would appear here.">
</FORM>
 
 
 
 
 
Q. I have several pages on my web site that are totally independent, i.e.
there are no links to them. These pages contain information that I might want to look at from another computer. But I don't want others to be aware of them. Is there any way for a casual visitor, or even a hacker, to learn the names of these pages? The names are not obvious, and there's no way a person could guess at the names. I have a page called /index.html, which is the page a visitor gets to by typing in the domain name.
 
A. If a page is on the internet, the serch engines will eventually find it and index it into it's database. Unless you take some measures to tell the search engines not to index the page. Using the ROBOTS.TXT file you can tell search engines which folders and file to index and not to index. It is a small text file that sits in the root of your web directory. The following page will explain in detail about the file.
http://www.seoconsultants.com/robots-text-file/
Put all of the files that you do not want the search engines to index into one folder and name that as a disallowed folder in the ROBOTS.TXT file. Another option would be to password protect a folder and place all of the files in that folder. Your web host probably offers a password protected folder and they set it up for you.
[See also http://htmlgoodies.earthweb.com/letters/210.html  -- and, btw, if there are really NO links to the pages & there is an index page in the directory with them, as you describe, there will be no way for the search engines or casual visitors to find them (although somebody with physical access to a machine you had been using to view them could find them in the browser's history, unless you cleared it).  A hacker would have to hack their way into your system to find them. - Ed]
 
 
 
 
 

    
Q. I'm trying to set up an email form.  How do I send form data to an email address instead of a file?  My email form just brings up outlook; how do I get it to send email directly?  When I get data to me email address it is in an attachment with an ".att" extension -- what is this and how do I read it?  How do I get my email form data to be formatted as text instead of being full of stuff like "1=on&2=on&3=Better+Management"?
 
A. To get rid of the .att extension (and formatting problems) add enctype="text/html to the form tag like so:
<form action="mailto:somebody@somewhere.com" method="post" enctype="text/plain">
NOTE, HOWEVER:
Version 6 (and above) browsers do not support email forms (action="mailto:... etc.) Instead, it is necessary to use CGI scripts (PERL, CGI Shell Scripts, PHP etc.)  Alternatively, if your server supports FrontPage extensions, there is a "WebBot" in FrontPage that automatically handles sending form data to an email address (as an option to, or in addition to saving it to a file.)
[See also http://www.htmlgoodies.com/articles/emailforms1.html  - Ed.]
 
 
 
 
    
Q. How do I make three tables all on the same line with a space between them?
 
A. You make one large table at 100 percent width and a border of zero, with one row then add your three tables in the large tables <td> tags. Play around with the <td> widths to get the size you need. You can add a couple <td> tags with the code &nbsp; which is just a blank space to make some space between the 3 tables. Here is a example of the code:
<table summary="large table" align="center" width="100%" border="0"
cellspacing="0" cellpadding="0">
<tr>
<td width="30%">
<table summary="Menu Table" width="100%" border="1" cellspacing="0"
cellpadding="0">
<tr align="center"><td>Menu</td></tr>
</table>
</td>
<td width="5%">&nbsp;</td>
<td width="30%">
<table summary="Main Table" width="100%" border="1" cellspacing="0"
cellpadding="0">
<tr align="center"><td>Main</td></tr>
</table>
</td>
<td width="5%">&nbsp;</td>
<td width="30%">
<table summary="New Menu Table" width="100%" border="1"
cellspacing="0" cellpadding="0">
<tr align="center"><td>New Menu</td></tr>
</table>
</td>
</tr>
</table>
[See also http://www.htmlgoodies.com/tutors/tbl_in_tbl.html  - Ed.]
 
 
 
 
 
 
 
Q. I am new to Javascript. I have been researching a way to unselect a number of checkboxes once a specific checkbox is clicked and vise-a-versa.
 
A. Here is a example that I put together for someone else (you could replace the radio buttons with form buttons and it would work the same.)
<html>
<head>
<title>Check All</title>
<SCRIPT LANGUAGE="JavaScript">
   function checkall(formid,obj)
    {
     len=formid.ckb.length
     for(i=0;i<len;i++)
         {
          if(obj.value=="Check All")
            {formid.ckb[i].checked=true}
          if(obj.value=="Uncheck All")
            {formid.ckb[i].checked=false}
         }
   }
  function onlyone(fldobj)
    {
     alert(fldobj.name)
    }
</SCRIPT>
</head>
<body>
  <CENTER>
  <FORM NAME="myform">
    <INPUT TYPE="checkbox" NAME="ckb" onClick="onlyone(this)"> Checkbox One
    <BR>
    <INPUT TYPE="checkbox" NAME="ckb" onClick="onlyone(this)"> Checkbox Two
    <BR>
    <INPUT TYPE="checkbox" NAME="ckb" onClick="onlyone(this)"> Checkbox Three
    <BR>
    Check All<INPUT TYPE="radio"  NAME="chka" VALUE="Check All"
onClick="checkall(this.form,this)">
    Uncheck All<INPUT TYPE="radio" NAME="chka" VALUE="Uncheck All"
onClick="checkall(this.form,this)">
  </FORM>
  </CENTER>
</body>
</html>
{See also http://www.htmlgoodies.com/letters/199.html  - Ed.]
 
 
 
 
 
 
 

Discussion Goodies
***********************************
 
Have you seen the discussion forums on the HTML Goodies website?  It's a great place to get help from others who, just like you, are developing web pages.  Many different topics appear in the forum, and a new one will appear if you create it!  Here's a sample of recent topics:
 
 
 
Validation of dynamically generated form!:
http://www.webdeveloper.com/forum/showthread.php?threadid=87215
 
 
 
 
 
 
 
 
 
News Goodies
***********************************
 
ICANN's Small Step Toward .Asia
[December 6, 2005] ICANN's board of directors is saving the final word on .xxx and its proposed .com agreement for another day.
Read the article:
http://www.internetnews.com/bus-news/article.php/3568916
 

Sun to Bow Multi-Core in Manhattan
[December 6, 2005] The new machines, which can scale up to eight cores or 32 threads, aim to cut down server sprawl in data centers. 
Read the article:
http://www.internetnews.com/storage/article.php/3568596
 

IE Changes To Avoid Eolas IP
[December 2, 2005] Microsoft makes browser adjustment to avoid infringing plug-in patent.
Read the article:
http://www.internetnews.com/xSP/article.php/3568286
 

Arena Moving to the Big Leagues
[December 5, 2005] The latest update to the hosted PLM software features an Ajax-style UI, code-free customization and compliance tools.   
Read the article:
http://www.internetnews.com/dev-news/article.php/3568351
 

JBoss Buys Arjuna Transaction Suite
[December 5, 2005] The professional open source vendor climbs further up the stack with the addition of technology that handles information traffic.
Read the article:
http://www.internetnews.com/dev-news/article.php/3568341
 

ZoomInfo Automates Social Networking
[December 5, 2005] Enhancements to people search make it easier to find connections.
Read the article:
http://www.internetnews.com/xSP/article.php/3568331
 

HP, IBM Duel on Management Software
[December 5, 2005] The rivals issue new management programs to help customers control important data on their computer systems.
Read the article:
http://www.internetnews.com/ent-news/article.php/3568336
 

Streaming Media Grows Up
[December 2, 2005] The streaming video market seems to have matured -- at least in terms of its audience. 
Read the article:
http://www.internetnews.com/xSP/article.php/3567991
 

A Watershed Moment For AMD?
[December 2, 2005] The chipmaker may not match the "Intel Inside" marketing campaign, but a strong product lineup could lead more buyers to ask for AMD-based systems by name.
Read the article:
http://www.internetnews.com/ent-news/article.php/3568176
 

Love Those MVPs -- Most Valuable Shoppers
[December 2, 2005] The top 18 percent of spenders are driving nearly half of all online buys.
Read the article:
http://www.internetnews.com/ec-news/article.php/3568211
 
 
 

 
 
 
Feedback Goodies
***********************************
 
Did you ever wish your newsletter was an easy two way communications medium?  Ploof! It now is!
If you would like to comment on the newsletter or expand/improve on something you have seen in here, you can now send your input to:
 
nlfeedback@htmlgoodies.com
 
We already receive a lot of email every day.  This address helps us sort out those relating specifically to this newsletter from all the rest.  When you send email to this address it may wind up being included in this section of the newsletter, to be shared with your fellow readers.  Please don't send your questions to this address.  They should be sent to our mentors: see http://www.htmlgoodies.com/mentors/
 
 
 
 
 
Thanks for all your feedback!
 
 
 
 
 
 
 

Windows Tech Goodie of the Week 

***********************************
 
Examining ASP.NET 2.0's Site Navigation - Part 2
 
This article is one in a series of articles on ASP.NET 2.0's site navigation functionality. Part 2 explores programmatically accessing site map data through the SiteMap class, and includes a thorough discussion of the SiteMapPath (breadcrumb) control.
 
 

*** AND ***
 

Checkbox ASP.NET Sample Code
 
Although dealing with checkboxes isn't difficult, it can be confusing. This sample code illustrates a number of different ways to use both the HTML checkbox form element and the ASP.NET Checkbox control. In addition to showing you how to set them up, it also covers how to retrive data from each of them.
 
 

*** AND ***
 

Adding Google Suggest Functionality to an ASP.NET Application
 
The purpose of this article is to show how to use an AutoSuggestBox control to add 'Google Suggest' functionality to your ASP.NET application. The AutoSuggestBox control encapsulates all the complex functionality and only requires developers to specify the datasource that provides the suggestions to load.
 
 
 
 
 
 
 
 
 
 
 
 
 
 

And Remember This ...
***********************************
 
1917 Mont Blanc Exploded
 
In the harbor at Halifax, Nova Scotia, in Canada, at 8:45 in the morning, the French munitions ship Mont Blanc collided with the Norwegian ship, Imo.  At the time, the Mont Blanc was loaded with high explosive munitions, intended for the war effort in Europe.  The collision ignited picric acid in the cargo.  The crew attempted to alert the harbor personnel to the danger of the cargo on board, but their warnings fell on deaf ears.  The fire department arrived, parking their equipment next to the ship as it brushed the harbor wall, setting it ablaze.  Spectators gathered to watch the burning ship.  The ship exploded with a massive, blinding white burst, instantly killing 1,800 and injuring 9.000 more.  200 were permanently blinded by the flash.  The north end of the city of Halifax, including 1,600 homes was completely destroyed.  the explosion shattered windows up to fifty miles away, and could be heard for twice that distance.  It is deemed the most devastating explosion of the pre-nuclear age.
 

Today was also the day that in: 1240 Bhatu Khan led the Mongols in the destruction of Kiev; 1534 Quito Ecuador was founded by the Spanish; 1768 the first edition of Encyclopedia Britannica was published; 1833 HMS Beagle set sail from Rio de la Plata with Charles Darwin aboard; 1865 the 13th Amendment to the US Constitution was ratified, thereby abolishing slavery (at least, making it illegal); 1877 the first edition of the Washington Post was published; 1877 Thomas Edison made his first sound recording; 1912 China voted in favor of Universal Human Rights; 1921 The Anglo-Irish treaty was signed, giving Ireland dominion status and partitioning off Northern Ireland; 1941 the New York City Council agreed to build the Idlewild Airport, later named John F. Kennedy Airport in Queens, New York; 1956 Nelson Mandela and 156 others were arrested for political activities in South Africa; 1982 IRA bomb attack killed 17 in a Northern Ireland disco; 1988 Nelson Mandela was transferred to the Victor Vestor prison in Capetown; 1995 Michael Jackson collapsed while rehearsing for an HBO special
 

Born today were: in 1421 King Henry VI of England; 1792 King Willem II of the Netherlands; 1822 US pencil maker John Eberhard; 1870 actor William S. Hart; 1918 endoscope inventor Harold Hopkins; 1920 musician Dave Brubeck; 1924 actor Wally Cox; 1929 actor King Moody; 1932 boxing promoter Don King; 1943 English musician Mike Smith (Dave Clark 5); 1952 actor Terence Knox; 1953 actress Gina Hecht; 1954 actor Miles Chapin; 1956 musician Peter Buck; 1966 (or 76?) actress Lindsay Price;
 


Make a Comment

Loading Comments...

  • Web Development Newsletter Signup

    Invalid email
    You have successfuly registered to our newsletter.
  •  
  •  
  •  
Thanks for your registration, follow us on our social networks to keep up-to-date