Javascript - генерирование результата из нескольких вариантов выбора формы
Я новичок здесь, я новичок в программировании, и я редко что-либо кодирую, но в последнее время я всегда хотел улучшить свое рабочее место и просто хочу создать простую форму для своих коллег.
Короче говоря, я создал форму, и мне нужно просто сгенерировать весь результат формы в текстовое поле.
Теперь моя проблема в том, что я сделал несколько типов "Событий" в форме, которые имеют различный набор вариантов, и я хочу получить результат этого набора "Событий", сгенерированного также с базовой информацией.
Ну, вот пример моего кода; Начните JavaScript
function generateresult() {
name = document.FORM.namefromtextarea.value;
phone = document.FORM.phonefromtextarea.value;
address = document.FORM.addressfromtextarea.value;
name2 = "Name: " + name + "\n";
phone2 = "Phone: " + phone + "\n";
address2 = "Address: " + address + "\n";
//problem type 1
lostitem = document.FORM.lostitemfromtextarea.value;
when = document.FORM.whenfromtextarea.value;
where = document.FORM.wherefromtextarea.value;
lostitem2 = "Lost Item?: " + lostitem + "\n";
when2 = "When?: " + when + "\n";
where2 = "Where?: " + where + "\n";
//problem type 2
lostperson = document.FORM.lostpersonfromtextarea.value;
personage = document.FORM.personagefromtextarea.value;
personcloth = document.FORM.personclothfromtextarea.value;
lostperson2 = "Person Name?: " + lostperson + "\n";
personage2 = "Age?: " + personage + "\n";
personcloth2 = "Wearing?: " + personcloth + "\n";
if (document.FORM.problemtype.value="Lost Item")
{
eventtype = type1;
}
else if (document.FORM.problemtype.value="Lost Person")
{
eventtype = type2;
}
type1 = lostitem2 + when2 + where2 ;
type2 = lostperson2 + personage2 + personcloth2 ;
document.FORM.generateresulttext.value = name2 + phone2 + address2 + eventtype ;}
Конец JavaScript
И если пользователь щелкнул опцию, имеющую значение "Lost Person", результат для сгенерированного текста будет взят из события "type2"
Таким образом, мне удалось получить результат для имени, телефона и адреса, но что касается результата потерянного элемента, значение результата стало "неопределенным".
Итак... как именно я могу это кодировать? Я даже не уверен, действительно ли я делаю правильный сценарий / метод для моей простой формы... Заранее спасибо
1 ответ
Мне кажется, что вы можете пытаться создать переменную, которая берет данные из несуществующего элемента. Возможно, вы захотите поместить свой код внутри другой функции.
function generateresult() {
name = document.FORM.namefromtextarea.value;
phone = document.FORM.phonefromtextarea.value;
address = document.FORM.addressfromtextarea.value;
name2 = "Name: " + name + "\n";
phone2 = "Phone: " + phone + "\n";
address2 = "Address: " + address + "\n";
//problem type 1
function firstType(){
lostitem = document.FORM.lostitemfromtextarea.value;
when = document.FORM.whenfromtextarea.value;
where = document.FORM.wherefromtextarea.value;
lostitem2 = "Lost Item?: " + lostitem + "\n";
when2 = "When?: " + when + "\n";
where2 = "Where?: " + where + "\n";
document.FORM.generateresulttext.value = name2 + phone2 + address2 + lostitem2 + when2 + where2 ;
}
//problem type 2
function secondType(){
lostperson = document.FORM.lostpersonfromtextarea.value;
personage = document.FORM.personagefromtextarea.value;
personcloth = document.FORM.personclothfromtextarea.value;
lostperson2 = "Person Name?: " + lostperson + "\n";
personage2 = "Age?: " + personage + "\n";
personcloth2 = "Wearing?: " + personcloth + "\n";
document.FORM.generateresulttext.value = name2 + phone2 + address2 + lostperson2 + personage2 + personcloth2 ;
}
if (document.FORM.problemtype.value="Lost Item")
{
firstType();
}
else if (document.FORM.problemtype.value="Lost Person")
{
secondType();
}
}
В будущем вам НЕ следует помещать числа в имя переменной. Вы также никогда не должны объявлять переменные, как вы делаете здесь. Когда вы хотите создать переменную, вы набираете var variableName = variableValue
, Вы также НИКОГДА не используете такие слова, как where
или же when
для имени переменной, но вместо этого назовите его что-то вроде lostWhere
или же lostWhen
,