2015-04-03 3 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> 

И мой браузер

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

+0

все работает Я просто не знаю, как сделать слова, введенные в текстовое поле, отображаться в предложениях – Rowena

+0

Мне все еще не ясно, что именно вы хотите * точно *. Вы хотите, чтобы слова из ваших входов были добавлены к вашим случайным предложениям наугад? Не можете ли вы просто добавить их к правильному массиву слов по умолчанию, прежде чем приступать к созданию предложений? – Pevara

ответ

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

это подтолкнет значение от имени в массиве. вам нужно будет сделать это для каждого массива и ввода.

вам нужно будет сделать это до раздела рандомизатора вашего кода.

+0

это не сработало? – Rowena

+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