Is it possible to return three words inline with this script?
I wanted to modify a script to return a three letter "sentence" when the page loads and ideally inline rather than as part of a form.
I found the code below written by Paul McFeddries http://www.mcfedries.com/javascript/randomwords.asp which I've fiddled around with, and am continuing to fiddle with, but aren't having much luck in figuring it out.
Any help would be appreciated.
<html>
<head><SCRIPT LANGUAGE="JavaScript">
<!--
// Use the following variable to specify
// the number of random words
var NumberOfWords = 28
function BuildArray(size){
this.length = size
for (var i = 1; i <= size; i++){
this[i] = null}
return this
}
function PickRandomWord(frm) {
// Generate a random number between 1 and NumberOfWords
var rnd = Math.ceil(Math.random() * NumberOfWords)
// Display the word inside the text box
frm.WordBox.value = words[rnd]
}
//-->
</SCRIPT>
</head>
<body>
<FORM NAME="WordForm">
<INPUT TYPE=TEXT SIZE=20 NAME="WordBox"><BR>
<INPUT TYPE=BUTTON onLoad="PickRandomWord(document.WordForm)"
VALUE="Click Here to Get a Random Word">
</FORM>
</body>
</html>
<html>
<head>
<SCRIPT type="text/javascript"> // LANGUAGE="JavaScript" archiac form
// Use the following to define your random words:
var words = [
"czarevitch", "brightwork", "verkrampte", "protectrix", "nudibranch",
"grandchild", "newfangled", "flugelhorn", "mythologer", "pluperfect",
"jellygraph", "quickthorn", "rottweiler", "technician", "cowpuncher",
"middlebrow", "jackhammer", "triphthong", "wunderkind", "dazzlement",
"jabberwock", "witchcraft", "pawnbroker", "thumbprint", "motorcycle",
"cryptogram", "torchlight", "bankruptcy"
];
// Use the following variable to specify the number of random words
var NumberOfWords = words.length;
function PickRandomWord() {
// Generate a random number between 1 and NumberOfWords
var rnd = Math.floor(Math.random() * NumberOfWords)
return words[rnd]
}
function GetRandomWords(cnt) {
var str = '';
for (var i=0; i<cnt; i++) { str += PickRandomWord()+' '; }
return str;
}
</SCRIPT>
</head>
<body>
<INPUT TYPE=TEXT SIZE=40 id="WordBox"><BR>
<INPUT TYPE=BUTTON onclick="document.getElementById('WordBox').value=GetRandomWords(3)" VALUE="Click here to get random words">
</body>
</html>
Note: Does not check for repeated words, but that's just because of your design.
Is it also possible to make it just produce the three words automatically without clicking a button and have it just deposit itin a line rather than a form?
I'm not sure I understand your 2nd comment.
There is not a <form> tag to be seen in the code (???)
While waiting for a response made some modifications...
Code:
<html>
<head>
<style type="text/css">
#WordBox { background-Color:orange; width:25%; float:right; text-align:center; }
</style>
</head>
<body>
<div id="WordBox"></div>
Additional displays
<SCRIPT type="text/javascript"> // LANGUAGE="JavaScript" archiac form
// Use the following to define your random words:
var words = [
"czarevitch", "brightwork", "verkrampte", "protectrix", "nudibranch",
"grandchild", "newfangled", "flugelhorn", "mythologer", "pluperfect",
"jellygraph", "quickthorn", "rottweiler", "technician", "cowpuncher",
"middlebrow", "jackhammer", "triphthong", "wunderkind", "dazzlement",
"jabberwock", "witchcraft", "pawnbroker", "thumbprint", "motorcycle",
"cryptogram", "torchlight", "bankruptcy"
];
// Use the following variable to specify the number of random words
var NumberOfWords = words.length;
function PickRandomWord() {
// Generate a random number between 1 and NumberOfWords
var rnd = Math.floor(Math.random() * NumberOfWords)
return words[rnd]
}
function GetRandomWords(cnt) {
var str = '';
for (var i=0; i<cnt; i++) { str += PickRandomWord()+' '; }
document.getElementById('WordBox').innerHTML=str;
return str;
}
window.onload = function() {
GetRandomWords(3);
var t = setInterval('GetRandomWords(3)',5000);
}
</SCRIPT>
</body>
</html>
Bookmarks