Javascript - 从多个表单选择生成结果

时间:2013-03-05 19:09:14

标签: javascript forms if-statement multiple-choice

我是新来的,我也很喜欢编程,我很少编写任何代码,但最近我一直想改善我的工作场所,我只想为同事创建一个简单的表单。

为了简短起见,我创建了表单,我需要的只是将表单的所有结果生成为textarea。

现在我的问题是,我已经在表单中制作了几种类型的“事件”,它们有不同的选择,我想要的是与“基本信息”一起生成的那组“事件”的结果。

嗯,这是我的代码示例;开始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结束

如果用户点击了具有“失去的人”值的选项,则生成的文本的结果将从事件“type2”中获取

所以我设法得到姓名,电话和地址的结果,但是对于丢失的项目结果,结果的值变为“未定义”。

那么......我怎么能编码呢?我甚至不确定我是否真的为我的简单表格做了正确的脚本/方法...提前致谢

1 个答案:

答案 0 :(得分: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。您也不要使用wherewhen等字词作为变量名称,而是将其命名为lostWherelostWhen