Note that there are some explanatory texts on larger screens.

plurals
  1. POJavascript "Silly Name Generator"
    primarykey
    data
    text
    <p>I took a JavaScript class semester before last, passed it, and now I'm on summer break. The book we used is JavaScript 8th edition, Tom Negrino, Dori Smith. There is code for a name generator. Everything needed is in the book (p. 301) It calls for a first and last name but I wanted to add a middle name to output another silly name. It's not a homework assignment, just something I wanted to try. If you leave the first or last name blank you get a "That's not a valid name" message. So I coded the middle name, entered 26 words for the middle name, but the code doesn't recognize anything other than first and last name. To me it looks like this should work but still only first and last name work. Maybe another pair of eyes could help me see what I've missed or not included.</p> <p>Thanks for any suggestions, CK</p> <pre><code>The HTML &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Silly Name Generator&lt;/title&gt; &lt;script src="script05.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;What's your silly name?&lt;/h1&gt; &lt;table&gt; &lt;tr&gt; &lt;td class="rtAlign"&gt;First Name:&lt;/td&gt; &lt;td&gt;&lt;input type="text" id="fName" size="30"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="rtAlign"&gt;Middle Name:&lt;/td&gt; &lt;td&gt;&lt;input type="text" id="mName" size="30"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="rtAlign"&gt;Last Name:&lt;/td&gt; &lt;td&gt;&lt;input type="text" id="lName" size="30"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;input type="submit" value="Submit" id="sillySubmit"&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p id="msgField"&gt;&amp;nbsp;&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <hr> <p>The JavaScript</p> <pre><code>window.onload = initAll; function initAll() { document.getElementById("sillySubmit").onclick = function() { document.getElementById("msgField").innerHTML = getSillyName(); return false; } } function getSillyName() { var firstName = ["Runny", "Buttercup", "Dinky", "Stinky", "Crusty", "Greasy","Gidget", "Cheesypoof", "Lumpy", "Wacky", "Tiny", "Flunky", "Fluffy", "Zippy", "Doofus", "Gobsmacked", "Slimy", "Grimy", "Salamander", "Oily", "Burrito", "Bumpy", "Loopy", "Snotty", "Irving", "Egbert"]; var middleName =["Waffer", "Lilly","Rugrat","Sand", "Fuzzy","Kitty", "Puppy", "Snuggles","Rubber", "Stinky", "Lulu", "Lala", "Sparkle", "Glitter", "Silver", "Golden", "Rainbow", "Cloud", "Rain", "Stormy", "Wink", "Sugar", "Twinkle", "Star", "Halo", "Angel"]; var lastName1 = ["Snicker", "Buffalo", "Gross", "Bubble", "Sheep", "Corset", "Toilet", "Lizard", "Waffle", "Kumquat", "Burger", "Chimp", "Liver", "Gorilla", "Rhino", "Emu", "Pizza", "Toad", "Gerbil", "Pickle", "Tofu", "Chicken", "Potato", "Hamster", "Lemur", "Vermin"]; var lastName2 = ["face", "dip", "nose", "brain", "head", "breath", "pants", "shorts", "lips", "mouth", "muffin", "butt", "bottom", "elbow", "honker", "toes", "buns", "spew", "kisser", "fanny", "squirt", "chunks", "brains", "wit", "juice", "shower"]; var firstNm = document.getElementById("fName").value.toUpperCase(); var middleNm = document.getElementById("mName").value.toUpperCase(); var lastNm = document.getElementById("lName").value.toUpperCase(); var validName = true; if (firstNm == "") { validName = false; } else { var firstNum = firstNm.charCodeAt(0) - 65; if (firstNum &lt; 0 || firstNum &gt; 25) { validName = false; } } if (!validName) { document.getElementById("fName").focus(); document.getElementById("fName").select(); return "That's not a valid first name"; } if (middleNm == "") { validName = false; } else { var middleNum = middleNm.charCodeAt(0) - 65; if (middleNum &lt; 0 || middleNum &gt; 25) { validName = false; } } if (!validName) { document.getElementById("mName").focus(); document.getElementById("mName").select(); return "That's not a valid middle name"; } if (lastNm == "") { validName = false; } else { var lastNum1 = lastNm.charCodeAt(0) - 65; var lastNum2 = lastNm.charCodeAt((lastNm.length-1)) - 65; if (lastNum1 &lt; 0 || lastNum1 &gt; 25 || lastNum2 &lt; 0 || lastNum2 &gt; 25) { validName = false; } } if (!validName) { document.getElementById("lName").focus(); document.getElementById("lName").select(); return "That's not a valid last name"; } return "Your silly name is " + firstName[firstNum] + " " + middleName[middleNum] + " " + lastName1[lastNum1] + lastName2[lastNum2]; } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload