SHARE
Facebook X Pinterest WhatsApp

Goodies To Go! Newsletter #341

Written By
thumbnail
Vince Barnes
Vince Barnes
Jun 13, 2005

************************************************************
Goodies to Go ™
June 13, 2005 — Newsletter # 34
1   This newsletter is part of the internet.com
network.
http://www.internet.com
 
************************************************************


Featured this week:   *   Goodies Thoughts – The CGI Language?
*   Q & A Goodies
*   News Goodies
*   Feedback Goodies
*   Windows Tech Goodie of the Week 
*   And Remember This…
 

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

 

The CGI Language?

 

We hear the reference to CGI scripts quite commonly.

 

Perhaps it is this


that has led to a common misunderstanding about CGI.

 

When we talk about VB


scripts, we are talking about scripts written in the Visual Basic language.

 

Perl scripts are written in the Perl language.

 

It

s understandable,


therefore, that some folk would believe CGI scripts to be written in the CGI


language.

 

It

s not so though, I

m afraid.

 

CGI stands for the Common Gateway Interface.

 

Basically, while a web


server

s job is to serve up web pages, there is a need to be able to get at


and serve up information that is not held in web pages.

 

This information


might be stored, for example, in a database or perhaps in a series of text


files.

 

The CGI is a specification for how to implement an interface, or link,


between the web server and an application that has access to that


information.

 

It is, essentially, an agreement among web server implementers


on how to set up such an interface.

 

If you

d like to really get into it,


you can find all the technical details at


http://www.w3.org/CGI/  

Common uses for the CGI are to enable programs written in languages like


PERL or UNIX Shell Scripts to incorporate dynamic information into otherwise


static web pages.

 

The language involved is the language of the application


itself, not the CGI.

 

The CGI is not a language.

 

In the HTML Goodies site there a several examples of using the interface to


connect to applications, including a guestbook, a poll and a bulletin


board.

 

You can find them at



https://www.htmlgoodies.com/beyond/cgi
 

In these examples, which were


mostly written by Joe Burns you will often see references to

"

a CGI

"

.

 

This


is common parlance, but it is misleading.

 

It is not so much

"

a CGI

"

as

"

an


application using the CGI

"

. It

s just that

"

a CGI

"

is so much quicker and


easier to say!

 

I hope that clears it up for you!

     

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



https://www.htmlgoodies.com/mentors/
 
    
Q. 

I

m making a form that will be used by users to apply for a job.


I want to make sure that the form will not be submitted if they type text


into the

"

phone number

"

text box. All my attempts have failed, Could you


give me an idea of what is going on?


<

SCRIPT

>


var x = 0


function checkdata() {


 

if ( (document.job.dobday.value.indexOf(

"

a

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

b

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

c

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

d

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

e

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

f

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

g

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

h

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

i

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

j

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

k

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

l

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

m

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

n

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

o

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

p

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

q

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

r

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

s

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

t

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

u

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

v

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

w

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

x

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

y

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

z

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

!

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

#

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

$

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

%

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

^

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

&

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

*

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

(

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

)

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

-

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

_

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

+

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

=

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

{

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

}

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

[

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

]

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

@

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

~

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

<

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

>

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

?

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

.

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

/

"

) == -1) ||


      

(document.job.dobday.value.indexOf(

"

|

"

) == -1)){x = 1}


}


if (x = 1){


alert(

"

no letters are allowed in the phone text box

"

);


return false;}


<

/SCRIPT

>

  A.(1)

Take a look at the HTMLGoodies Javascript Primer #29

Putting


It All Together: Form Field Validation located at



https://www.htmlgoodies.com/primers/jsp/hgjsp_29.html

The example includes the validation of a numeric zip code that should be


easy enough to adapt to a phone number. It will also shorten your script


considerably.

  A.(2)

You could also use the method isNaN (is-Not-a-Number) to insure


that only numbers are entered.

 

It goes something like this:


if(isNaN(document.job.phone.value))


 

{alert(

"

Numbers only please!

"

)}

          Q.

I have recently made an e-mail form with the help of the tutorial


on the site, and my form is made up entirely of text boxes. However, I find


that the


text boxes are ugly.. I would like the borders of them to be a different


colour, so they do not have that

"

greay shadow

"

look. I know it is possible


to change the colour of them, as I have seen it done on another website, but


how can I do it on mine?

  A.

The easiest way to do it is to set up a style for the

"

input

"

in


you style sheet, since you are only using text boxes. The following will


also apply to any radio buttons or checkboxes that may be in the form. If


you add them later, you may want to set up a class. But for now, add this to


your style


sheet:


input { border: 1px solid black; }


You can use change the pixel size, or switch from solid to dashed. For


colors, you can use the text names that are available, or the hexidecimal


(#000000).


            Q.

I have been asked to apply colors to the background and text of


the web page whenever an item in various list boxes has been changed. The


list boxes contain various background and text color choices, which have


been assigned variables within the apply_color() function that I just


created. Got any tips?

  A.

Here is a example of how you can set up various style classes with


the text color and background color and then through the dropdown assign one


of those classes to the body of the document.

 

This will change the color


for all text in the body of the document along with the background color.

 

This will not work in older browsers such as Netscape 4 versions:


<

html

>


<

head

>


<

title

>

<

/title

>


<

style

>


 

.tcolor {color:white;background-color:black}


 

.bcolor {color:black;background-color:white}


 

.jcolor {color:red;background-color:yellow}


 

.fcolor {color:blue;background-color:lightgreen}


<

/style

>


<

script type=

"

text/javascript

"

>


function doIt(selclass)


{


 

document.body.className=selclass


}


<

/script

>


<

/head

>


<

body class=

"

tcolor

"

>


This is some text that hopefully the color will change along with the


background color

<

form

>

<

select onChange=

"

doIt(this.options

[

this.selectedIndex

]

.value)

"

>


 

<

option value=

"

bcolor

"

>

Black/White

<

/option

>


 

<

option value=

"

jcolor

"

>

Red/Yellow

<

/option

>


 

<

option value=

"

fcolor

"

>

Blue/Lightgreen

<

/option

>


 

<

option value=

"

tcolor

"

>

White/Black

<

/option

>


<

/select

>


<

/form

>


<

/body

>


<

/html

>

          Q.

What is the simplest way to create a

bookmark button

to book


mark (or add to favorites) a certain page?

 

I might mention that the page I


want to put it on is forwarded and masked, don

t know if that makes any


difference.

  A. 

To place a bookmark link on a page you need to do the following.


I will use a link to take a person to the top of the page as an example.

 

Near the top of the page, usually directly after the

<

BODY

>

tag you would


enter the following:


<

a name=

"

top

"

>

<

/a

>


At the bottom of the page or any place you want the link you would create


the following link:


<

a href=

"

#top

"

>

TOP^

<

/a

>


When the link is clicked on you

"

jump

"

to the top of the page. If you want


to use a

"

bookmark

"

from one page to another you would create the link like


this:


http:www.your_site.com/your_page.htm#top


You can of course create as many as you need and name them differently for


diferent areas on the page. When you are masking you will have to use the


actual URL and not the shortened URL. For instance your actual URL might be


http://www.geocities.com/my_folder_name/my_page_name.htm


and you are pointing a shorter URL to it named


http://www.my-site.com. You have to use the longer URL in the hyperlink.

         
News Goodies

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

  Proxim Sells Out

[

June 13, 2005

]

The struggling Wi-Fi equipment provider has filed for


bankruptcy and will become a subsidiary of another tech company to get out


from under debt.


Read the article:



http://www.internetnews.com/wireless/article.php/3512116
 
IBM Delivers Baby Brother For Blue Gene

[

June 13, 2005

]

Big Blue introduces a new supercomputer to complement its


high-flying Blue Gene/L machine in the research field.


Read the article:



http://www.internetnews.com/ent-news/article.php/3512186
 
Microsoft Puts Aruba Networks on The Map

[

June 13, 2005

]

UPDATED: Microsoft gives the small network equipment maker


the corporate WLAN contract once owned by Cisco.


Read the article:



http://www.internetnews.com/wireless/article.php/3512251
 
VoIP Providers Assemble e911 Pieces

[

June 13, 2005

]

Broadband telephony companies are taking different routes to


comply with the FCC

s order.


Read the article:



http://www.internetnews.com/infra/article.php/3512101
 
VA, Black Duck Team on Open Source Projects

[

June 13, 2005

]

Integrated toolkit is designed to manage software licenses


throughout a company

s development lifecycle.


Read the article:



http://www.internetnews.com/dev-news/article.php/3512106
 
Red Hat Releases Fedora Core 4

[

June 13, 2005

]

The new version promises a cleaner desktop experience and


PowerPC port, to boot.


Read the article:



http://www.internetnews.com/dev-news/article.php/3512286
 
Is Grove Behind Apple Chip Switch?

[

June 10, 2005

]

Did Intel

s former CEO Andy Grove lay the groundwork for the


Apple-Intel deal?


Read the article:



http://www.internetnews.com/bus-news/article.php/3512066
 
Microsoft Betas ‘Acrylic’

[

June 10, 2005

]

Acrylic beta designed for organic-looking pixels and


vectors.


Read the article:



http://www.internetnews.com/dev-news/article.php/3512071
 
Trojan Spreads in Michael Jackson Spotlight

[

June 10, 2005

]

It

s hiding in an e-mail claiming the singer attempted


suicide.


Read the article:



http://www.internetnews.com/security/article.php/3511891
 
Hackers Monkey With Korean Mozilla Site

[

June 10, 2005

]

The breach brings calls from some in the open source


community to gain control of the independent site.


Read the article:



http://www.internetnews.com/security/article.php/3512081
     
 
 
 
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:

 

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



https://www.htmlgoodies.com/mentors/
     

Thanks for all your feedback!

         
Windows Tech Goodie of the Week 

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

  Reading and Writing XML in .NET Version 2.0 – Part 1  

In the first part of his series on reading and writing XML in .NET 2.0, Alex


Homer discusses the XmlReader and XmlReaderSettings classes. The XmlReader


exposes several useful new features and the all new XmlReaderSettings class


makes it easy to generate single or multiple instances of an XmlReader with


a range of useful properties.

 
http://www.15seconds.com/issue/050601.htm
 
*** AND ***  

Effective Data Paging Using SQL Server 2005 and Microsoft’s Enterprise
Library
 

Using the DataGrid

s built in paging mechanism is a convenient and easy way


to implement paging, but as your database grows you may notice a


considerable delay while paging. The problem is that the DataGrid doesn

t


just get the records for the current page

it actually retrieves them all!


This acticle shows you a more efficient way to handle paging using some of


the new features in SQL Server 2005 and Microsoft

s Enterprise Library.

 
http://www.asp101.com/articles/gal/effectivepaging/default.asp
 
*** AND ***  

Enter and the Button Click Event
 

Of particular interest to ASP.NET developers is that when creating an


ASP.NET Web Form, hitting Enter to submit the form seemingly sometimes


causes the page

s Button Web control

s Click event to fire, and other times


not. In this short article we

ll see under what conditions a Button Web


control

s Click event might not fire when the user submits the page hitting


Enter; furthermore, we

ll look at a workaround. Read on to learn more!

 
http://aspnet.4guysfromrolla.com/articles/060805-1.aspx
                 
And Remember This …

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

  On this day in…   323BC

Alexander the Great died of a fever at Babylon;

1886

fire destroyed


nearly a thousand buildings in Vancouver BC;

1888

The US Congress created


the Department of Labor;

1930

22 people were killed by hailstones in Siatista Greece;

1966

the US Supreme Court handed down its Miranda decision,


stating that suspects must be read their rights;

1967

Thurgood Marshall was


nominated as the first black US Supreme Court Judge;

1980

the UN security


council called for S. Africa to release Nelson Mandela;

1983

Pioneer 10


became the first man made object to leave the solar system;

1981

a teenager


fired 6 blanks at Queen Elizabeth II;

1990

Washington DC Mayor Marion Barry


announced he would not seek a fourth term;

     

Born today were: in

1865

Irish poet William Butler Yeats;

1892

S. African


actor Basil Rathbone;

1935

Bulgaran wrap artist Christo;

1941

actor Tom Hallick;


1941

actor Robert Forester;

1951

actor Richard Thomas;

1962

actress


Ally Sheedy;

1986

actress twins Mary Kate and Ashley Olsen

 

Recommended for you...

Web 3.0 and the Future Of Web Development
Rob Gravelle
Jun 23, 2022
CodeGuru and VBForums Developer Forums and Community
James Payne
Apr 7, 2022
Understanding CSS Template Layout
Vipul Patel
Mar 29, 2022
Criminals Pay More for Code Signing Certificates Than for Guns or Passports
HTML Goodies Logo

The original home of HTML tutorials. HTMLGoodies is a website dedicated to publishing tutorials that cover every aspect of being a web developer. We cover programming and web development tutorials on languages and technologies such as HTML, JavaScript, and CSS. In addition, our articles cover web frameworks like Angular and React.JS, as well as popular Content Management Systems (CMS) that include WordPress, Drupal, and Joomla. Website development platforms like Shopify, Squarespace, and Wix are also featured. Topics related to solid web design and Internet Marketing also find a home on HTMLGoodies, as we discuss UX/UI Design, Search Engine Optimization (SEO), and web dev best practices.

Property of TechnologyAdvice. © 2025 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.