2015-04-03 78 views
0

我正在做一个任务,我必须编写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" size="10" /> 
    <br /> 

    Verb Phrase: <input type="text" id = "input2" size="10" /> 
    <br /> 

    Adjective: <input type="text" id = "input3" size="10" /> 
    <br /> 

    Noun:   <input type="text" id = "input4" 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> 

而且我的JavaScript

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; 

// display silly sentences 
document.getElementById('displaySilly').onclick = function() { 
    // 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 

谢谢

+0

看起来你有一个好的开始。那么有什么不起作用? – Madbreaks 2015-04-03 21:17:39

+0

所有工作我只是不知道如何使文本字段中输入的单词得到显示在句子中 – Rowena 2015-04-03 21:20:09

+0

目前还不清楚你究竟是什么*精确*。你是否希望将你输入的单词随机添加到你的随机句子中?难道你不能只在你开始生成句子之前将它们添加到“默认”单词的正确数组中吗? – Pevara 2015-04-03 21:25:34

回答

0
names.push(document.getElementById('input').value) 

这从名字推值到数组。您需要为每个数组和输入执行此操作。

您需要在代码的随机工具部分之前执行此操作。

+0

这没有奏效? – Rowena 2015-04-03 23:54:44

+0

names.push(document.getElementById('input')。value); verbs.push(document.getElementById('input2').value); adjs.push(document.getElementById('input3')。value); nouns.push(document.getElementById('input4')。value); – Rowena 2015-04-03 23:54:54

相关问题