Я делаю свой собственный генератор lorem ipsum и пытаюсь сопоставить значение моего радиовхода со значением массива, чтобы при значении true
он генерировал текст на основе значения массива.
Например, поскольку одно из радио имеет свойство value="harry"
, а мой массив в моем файле generator.js имеет переменную harry
в characters array
.Он будет генерировать текст из файла harry
.
Мой код пока
// index.html
<form name="form" action="/" method="POST">
<div id="charType">
<label class="btn btn-warning char harry">
<input name="charType" type="radio" value="harry">Harry
</label>
<label class="btn btn-warning char ron">
<input name="charType" type="radio" value="ron">Ron
</label>
</div>
<input type="number" class="paragraph-number" name="numberOfParagraphs">
<input type="submit" value="Generate" class="generate-button">
</form>
<div class="generated-text">
<div class="placeholder-div"></div>
</div>
и мой generator.js
const harry = require("./harryText");
const ron = require("./ronText");
const loremIpsum = new GenerateNewText();
function GenerateNewText(){
characters = [
harry,
ron
]
}
Этот код работаетно не включает функцию выбора радио и требует от меня жесткого кода, к какой переменной в массиве обращаться.
GenerateNewText.prototype.getRandomSentence = function() {
let randomSentence = harry[Math.floor(Math.random() * harry.length)]
return randomSentence;
}
Очевидно, я не хочу жестко кодировать harry
и хочу разрешить randomSentence
генерирует текст на основе выбранного радиовхода.
Поэтому я попытался манипулировать этим кодом, среди многих других вариантов
GenerateNewText.prototype.getRandomSentence = function() {
document.getElementsByName("charType").is("checked", function() {
var selection = this.val();
while(character < characters.length) {
if(selection === characters[i]) {
let randomSentence = [Math.floor(Math.random() * harry.length)]
return randomSentence;
}
}
})
}
, но я не могу запустить его, потому что документ не определен,Я знаю, что блок кода, который находится выше, - беспорядок, но я не знаю, как заставить его работать.