gpt4 book ai didi

javascript - 如何使在文本字段中输入的值出现在 HTML 句子中

转载 作者:行者123 更新时间:2023-11-28 07:27:51 25 4
gpt4 key购买 nike

我正在做一项作业,我必须随机组成 10 个句子,并且必须创建文本字段。这些文本字段应该包含我在句子中放入的所有内容。我需要有关包含句子中单词的代码的帮助。我想我已经弄清楚了如何,除非当我在“名称”中输入某些内容时,它只显示我输入的一个字母,而不是整个单词。

这是我的 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;

谢谢大家

最佳答案

您有具有相同标识符的不同变量;例如,三个名为 names 的变量。接近尾声时,当您使用

从数组中读取时
names[Math.floor(Math.random() * names.length)];

这与包含名称的数组不同名称!

因此,解决方案是为所有这些名称指定不同的名称。

关于javascript - 如何使在文本字段中输入的值出现在 HTML 句子中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29441611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com