471,122 Members | 923 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,122 software developers and data experts.

Simple JavaScript question

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");

Feb 17 '07 #1
4 1352
pa************@gmail.com 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)
Feb 17 '07 #2
On Feb 17, 11:28 am, "Evertjan." <exjxw.hannivo...@interxnl.net>
wrote:
paul.denlin...@gmail.com 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

Feb 17 '07 #3
pa************@gmail.com 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)
Feb 17 '07 #4
pa************@gmail.com 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 8)
SortNames toUpperCase()(

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

--
Ian Collins.
Feb 17 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by 42 | last post: by
1 post views Thread by number1.email | last post: by
3 posts views Thread by Shelly | last post: by
6 posts views Thread by alex.kemsley | last post: by
4 posts views Thread by Brian Piotrowski | last post: by
7 posts views Thread by James Harris | last post: by
5 posts views Thread by fussfart | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.