Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Simple JavaScript question

Reply
Thread Tools

Simple JavaScript question

 
 
paul.denlinger@gmail.com
Guest
Posts: n/a
 
      02-17-2007
Please excuse this very basic question; I'm just starting to learn
JavaScript.

I have just modified added a toUpperCase statement to change strings
to upper case, but it does not run.

Can you please tell me what I have done wrong? I have pasted the code
in below.

Thank you.

-------------------------------------------------------------------------------------------------

// JavaScript Document

// initialize the counter and the array
var numnames=0;
var names = new Array();
function SortNames() {
// Get the name from the text field
SortNames toUpperCase();
//Change the names to all upper case
thename=document.theform.newname.value;
// Add the name to the array
names[numnames]=thename;
// Increment the counter
numnames++;
// Sort the array
names.sort();
document.theform.sorted.value=names.join("\n");

 
Reply With Quote
 
 
 
 
Evertjan.
Guest
Posts: n/a
 
      02-17-2007
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote on 17 feb 2007 in comp.lang.javascript:
> // JavaScript Document
>
> // initialize the counter and the array
> var numnames=0;
> var names = new Array();
> function SortNames() {
> // Get the name from the text field
> SortNames toUpperCase();


The name of a function cannot return a string in itself,
[unless you programme recursive, which is not here]

toUpperCase() should be attached by a period like this:

var a = 'A StrinG';
alert( a.toUpperCase(); ); // shows: A STRING


> //Change the names to all upper case
> thename=document.theform.newname.value;


This could work, if the form is correctly named

better keep your variables local, and do this:

var thename =
document.forms['theform'].elements['newname'].value;


> // Add the name to the array
> names[numnames]=thename;
> // Increment the counter
> numnames++;


You forgot to define a loop, this way only names[0]
is created and assigned

> // Sort the array
> names.sort();
> document.theform.sorted.value=names.join("\n");


you will need to end the function with a }

============

If, Paul, I did not misread your intended purpose,
perhaps the tested code below will help you:

============= test.html ======================
<script type='text/javascript'>

function SortNames() {
var names = new Array();
var f = document.forms['theForm'];
for (var n=0;n<3;n++)
names[n] =
f.elements['elem' + n].value.toUpperCase();
f.elements['sorted'].value =
names.sort().join("+");
return false;
};

</script>


<form name='theForm' onsubmit='return SortNames();'>
<input name='elem0' value='xyz x'><br>
<input name='elem1' value='ABC x'><br>
<input name='elem2' value='Pqr x'><br>
<input type='' name='sorted' value=''><br>
<input type='submit' value='Sort me'><br>
</form>
=================================================

Are you sure I am not making your school assignment?


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
 
Reply With Quote
 
 
 
 
paul.denlinger@gmail.com
Guest
Posts: n/a
 
      02-17-2007
On Feb 17, 11:28 am, "Evertjan." <(E-Mail Removed)>
wrote:
> (E-Mail Removed) wrote on 17 feb 2007 in comp.lang.javascript:
>
> > // JavaScript Document

>
> > // initialize the counter and the array
> > var numnames=0;
> > var names = new Array();
> > function SortNames() {
> > // Get the name from the text field
> > SortNames toUpperCase();

>
> The name of a function cannot return a string in itself,
> [unless you programme recursive, which is not here]
>
> toUpperCase() should be attached by a period like this:
>
> var a = 'A StrinG';
> alert( a.toUpperCase(); ); // shows: A STRING
>
> > //Change the names to all upper case
> > thename=document.theform.newname.value;

>
> This could work, if the form is correctly named
>
> better keep your variables local, and do this:
>
> var thename =
> document.forms['theform'].elements['newname'].value;
>
> > // Add the name to the array
> > names[numnames]=thename;
> > // Increment the counter
> > numnames++;

>
> You forgot to define a loop, this way only names[0]
> is created and assigned
>
> > // Sort the array
> > names.sort();
> > document.theform.sorted.value=names.join("\n");

>
> you will need to end the function with a }
>
> ============
>
> If, Paul, I did not misread your intended purpose,
> perhaps the tested code below will help you:
>
> ============= test.html ======================
> <script type='text/javascript'>
>
> function SortNames() {
> var names = new Array();
> var f = document.forms['theForm'];
> for (var n=0;n<3;n++)
> names[n] =
> f.elements['elem' + n].value.toUpperCase();
> f.elements['sorted'].value =
> names.sort().join("+");
> return false;
>
> };
>
> </script>
>
> <form name='theForm' onsubmit='return SortNames();'>
> <input name='elem0' value='xyz x'><br>
> <input name='elem1' value='ABC x'><br>
> <input name='elem2' value='Pqr x'><br>
> <input type='' name='sorted' value=''><br>
> <input type='submit' value='Sort me'><br>
> </form>
> =================================================
>
> Are you sure I am not making your school assignment?
>
> --
> Evertjan.
> The Netherlands.
> (Please change the x'es to dots in my emailaddress)


Sorry I did not give you the URL for the HTML page; it's
http://www.china-ready.com/jstest/arraysorting.htm Hope this makes
what I'm trying to do clearer.

Actually, no I'm not doing a school assignment; this is entirely self-
imposed. I'm working my way thru Sams Teach Yourself Javascript in 24
Hours. This is the exercise at the end of Hour 5.

If you have any suggestions about how to use Firebug to debug
JavaScript; I'd appreciate your input. I'm so new that I can't figure
out the debug messages.

Thanks again!

Paul

 
Reply With Quote
 
Evertjan.
Guest
Posts: n/a
 
      02-17-2007
(E-Mail Removed) wrote on 17 feb 2007 in comp.lang.javascript:

>> If, Paul, I did not misread your intended purpose,
>> perhaps the tested code below will help you:
>>
>> ============= test.html ======================
>> <script type='text/javascript'>
>>
>> function SortNames() {
>> var names = new Array();
>> var f = document.forms['theForm'];
>> for (var n=0;n<3;n++)
>> names[n] =
>> f.elements['elem' + n].value.toUpperCase();
>> f.elements['sorted'].value =
>> names.sort().join("+");
>> return false;
>>
>> };
>>
>> </script>
>>
>> <form name='theForm' onsubmit='return SortNames();'>
>> <input name='elem0' value='xyz x'><br>
>> <input name='elem1' value='ABC x'><br>
>> <input name='elem2' value='Pqr x'><br>
>> <input type='' name='sorted' value=''><br>
>> <input type='submit' value='Sort me'><br>
>> </form>
>> =================================================
>>
>> Are you sure I am not making your school assignment?
>>
>> --
>> Evertjan.
>> The Netherlands.
>> (Please change the x'es to dots in my emailaddress)

>
> Sorry I did not give you the URL for the HTML page; it's
> http://www.china-ready.com/jstest/arraysorting.htm Hope this makes
> what I'm trying to do clearer.


Trying your page, IE shows javascript errors, that you can read and see
the line number. Debugging those errors is your first line of defence.

> Actually, no I'm not doing a school assignment; this is entirely self-
> imposed. I'm working my way thru Sams Teach Yourself Javascript in 24
> Hours. This is the exercise at the end of Hour 5.


It seems you should try to understand the code, thoroughly bedore jumping
to the next. I never used a book for learning JS, as there is so much
code on the web that you can view source and try out.

> If you have any suggestions about how to use Firebug to debug


Never heard of that, is that the standard FF debugger?

> JavaScript; I'd appreciate your input. I'm so new that I can't figure
> out the debug messages.


Debugging in the teaching fase should be done by hand, using small
snippets of code at a time [modular programming] that you test so tthat
you are absolutely sure it works as planned.

Put in alert(aVariable); bedore and after the error line to inspect
errors and eliminate them one by one.

IE shows nice error warnings. FF too I am told.

[in IE you should switch "friendly errors" off, they are vey unfriendly
while debugging]

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
 
Reply With Quote
 
Ian Collins
Guest
Posts: n/a
 
      02-17-2007
(E-Mail Removed) wrote:
>
> If you have any suggestions about how to use Firebug to debug
> JavaScript; I'd appreciate your input. I'm so new that I can't figure
> out the debug messages.
>

Just use the JavaScript console and you will see:

missing ; before statementsort.js (line
SortNames toUpperCase()(

The typo is pretty obvious once it has been pointed out!

--
Ian Collins.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Plz, a simple answer to a simple question about IP addresses MeekiMoo Computer Support 0 07-28-2009 08:10 AM
Simple region code question... simple answer?? joseph.greer@gmail.com DVD Video 7 01-26-2007 09:07 PM
Simple Question - Simple Answer? Daniel Frey XML 4 01-12-2005 04:25 PM
Re: Simple Simple question!!! Kevin Spencer ASP .Net 0 06-25-2004 05:25 PM
Re: Simple Simple question!!! ashelley@inlandkwpp.com ASP .Net 0 06-25-2004 04:18 PM



Advertisments