我正在完成一项任务,我必须编写10个随机句子,然后我必须创建文本字段。这些文本字段应该包含我在句子中放入的任何内容。我需要帮助处理包含句子内部单词的代码。我想我已经弄清楚了除了当我输入某些内容时如何输入" name"它只显示我输入的一个字母而不是整个单词。
这是我的HTML:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Assignment 4</title>
<h1> Assignment 4 - Sample Solution </h1>
</head>
<body>
<p>
Name: <input type="text" id = "input" value= "names" size="10" />
<br />
Verb Phrase: <input type="text" id = "input2" value="verbs" size="10" />
<br />
Adjective: <input type="text" id = "input3" value="adjs" size="10" />
<br />
Noun: <input type="text" id = "input4" value="nouns" size="10" />
<br />
HOW MANY SENTENCES? <select id = "numOfSentences" size = "1">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<button id = "displaySilly">
Display Silly
</button>
<p id = "output"></p>
<script src = "silly.js"></script>
</body>
</html>
这是我的JS。
//arrays containing values for sentence components
var names = ["Alice","Rowena","Carol","David","Erin"];
var verbs = ["jumped on", "ran from", "scolded", "yelled at","talked to"];
var adjs = ["yellow","big","smelly","hairy","bad"];
var nouns = ["bear","tree","rock","student","instructor"];
// variables for the sentence components
var name, verb, adj, noun;
//when window loads
window.onload = function () {
var names = document.getElementById("input");
names.value = null;
var verbs = document.getElementById("input2");
verbs.value= null;
var adjs = document.getElementById("input3");
adjs.value= null;
var nouns = document.getElementById("input4");
nouns.value= null;
}
// display what is put into the text fields in the sentences
//names.push(document.getElementById('input').value);
//verbs.push(document.getElementById('input2').value);
//adjs.push(document.getElementById('input3').value);
//nouns.push(document.getElementById('input4').value);
// display silly sentences
document.getElementById('displaySilly').onclick = function() {
var names = document.getElementById("input").value;
document.getElementById("output").innerHTML = names;
// get number of sentences from drop down
var numOfSentences =
document.getElementById('numOfSentences').value;
//convert to integer
numOfSentences = parseInt(numOfSentences);
// initialize results string
var results = "";
// create required number of silly sentences
for (var i = 1 ; i <= numOfSentences ; i++) {
//pick components at random from arrays
name =
names[Math.floor(Math.random() * names.length)];
verb =
verbs[Math.floor(Math.random() * verbs.length)];
adj =
adjs[Math.floor(Math.random() * adjs.length)];
noun =
nouns[Math.floor(Math.random() * nouns.length)];
// concatenate to form a sentence
// add to other sentences
results = results + name + " " + verb +
" the " + adj + " " + noun +
".<br />";
}
// display the silly sentences
document.getElementById('output').innerHTML = results;
} //*** END onclick handler
我需要
的帮助 var names = document.getElementById("input").value;
document.getElementById("output").innerHTML = names;
谢谢你们
答案 0 :(得分:0)
您有不同的变量具有相同的标识符;例如,三个变量称为names
。接近结束时,当你用
names[Math.floor(Math.random() * names.length)];
与包含名称的数组不同names
!
所以解决方案是给所有names
个不同的名字。