2013-03-05 3 views
0

Im new here, Im новый в программировании, а также я редко что-то кодировал, но в последнее время я всегда хотел улучшить свое рабочее место, и я просто хочу создать простую форму для моего коллеги.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»

Так я» вам удалось получить результат для имени, телефона и адреса, но что касается результата потерянного результата, значение результата получило «undefined».

Итак ... как именно я могу это кодировать? Я даже не уверен, что Im действительно делает правильный скрипт/метод для моей простой формы ... Спасибо заранее

+1

Вы пробовали использовать 2 формы? Я думаю, что вы можете сделать одно событие соответствующим конкретной форме, сделать его намного проще. – KodeSeeker

+0

'var' является _not_ необязательным. Вы просто создали кучу проблемных глобальных переменных, которые _anyone_ может получить и изменить. – elclanrs

+0

Я планировал добавить больше типов событий в зависимости от будущего события, поэтому я хочу придерживаться 1 страницы формы, которая имеет несколько вариантов и генерирует результат на основе нескольких событий. Таким образом, мои коллеги не должны открывать несколько новых страниц для разного типа и только придерживаться 1 страницы, на которой есть все событие. – SBJ

ответ

0

Мне кажется, что вы, возможно, пытаетесь создать переменную, которая берет данные из неуловимого элемента. Возможно, вы захотите поместить код в другую функцию.

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.

Смежные вопросы