2016-02-13 77 views
1

我根本不知道JavaScript,我只是喜歡爲自己創建列表。我目前正在嘗試創建一個HTML頁面,以便跟蹤我最喜歡的遊戲中的角色,但我遇到了一些我不知道如何解決的問題。簡單的javascript:數組和表單信息收集

function overview() 
{ 
    var ov01=document.form.ov01.value;//file 
    var ov02=document.form.ov02.value;//text 
    var ov03=document.form.ov03.value;//text 
    var ov04=document.form.ov04.value;//text 
    var ov05=document.form.ov05.value;//radio 
    var ov06=document.form.ov06.value;//select 
    var ov07=document.form.ov07.value;//number 
    var ov08=document.form.ov08.value;//text 

document.result.endresult.value="<!DOCTYPE html><html><head><title>Save Challenge Valley</title><link rel='stylesheet' type='text/css' href='./forSCV/scripts/SaveChallengeValley.css'><script type='text/javascript' src='./forSCV/scripts/onmouseover-out.js'></script></head><body><div id='container'><div id='title'><table id='title'><tr><td rowspan='2'><img src='//C:/Users/Nancy/Pictures/The Sims/Sims 2-familytrees/ChallengePhotos/alloyE.jpg' alt='Alloy Challenge' id='title' title='Alloy Challenge'></td><td><h1>Save Challenge Valley</h1></td><td rowspan='2'><img src='//C:/Users/Nancy/Pictures/The Sims/Sims 2-familytrees/ChallengePhotos/addisonE.jpg' alt='Addison Challenge' id='title' title='Addison Challenge'></td></tr><tr><td class='bottom'><b>"+ov02+""+ov04+"</b></td></tr></table></div><script type='text/javascript' src='./forSCV/scripts/menusSCV.js'></script><div id='easy1'><h2>Overview</h2><img src='//C:/Users/Nancy/Pictures/The Sims/Sims 2-familytrees/ChallengePhotos/'"+ov01+"' alt='"+ov02+" "+ov03+"' title='"+ov02+" "+ov03+"' class='overview1'><table class='overview2'><tr><td>Name:</td><td class='white'>"+ov02+""+ov04+" "+ov03+"</td></tr><tr><td>Treat as:</td><td class='white'>"+ov05+"</td></tr><tr><td>Life Section:</td><td class='white'>"+ov06+"</td></tr><tr><td>Remaining Days:</td><td class='white'>"+ov07+"</td></tr><tr><td>Catalog Desc.:</td><td class='white'>"+ov08+"</td></tr></table></div>" 
} 

當談到時間,點擊按鈕,我想ov04的值(如果可用)添加空間,再經過它。我不知道如何做到這一點。 (搜索沒有幫助。)

例如:Amy(McCoy)Carter。 ov02是名,ov03是姓,ov04是孃家姓。

我覺得這樣的事情可能會做,但沒了......

var space=""; 

    do {space +=" ("+ov04+")"; 
     ov04--;} 
    while (ov04>=2); 
+0

請關注每個問題的一個問題。你可以編輯你的文章 –

回答

2

名稱

var fullName = ov02 + " " + (ov04 ? "(" + ov04 + ") " : "") + ov03; 

陣列。你真的不應該這樣做。製作一些容器div,並分別寫入每個容器。

2

讓處理添加周圍的孃家名一些支架。你當然有一個問題是你對待ov04的方式。它擁有一個字符串 - 孃家姓,但你試圖把它當作一個數字來對待,(ov04--)那只是不會做!

我會用功能演示:

function makePrettyName(fistName, lastName, maidenName) 
{ 
var result; 
if (maidenName != "") 
{ 
    result = firstName + " (" + maidenName + ") " + lastName; 
} 
else 
{ 
    result = firstName + " " + lastName; 
} 
return result; 
} 

而且其採用的例子:

var tgtElem = document.getElementById(idOfTargetElementGoesHere); 
tgtElem.innerText = makePrettyName(document.form.ov02.value, document.form.ov03.value, document.form.ov04.value); 

我還要指出,雙方你未來的自己和其他人分享你的代碼如果你養成使用有意義的變量名稱的習慣,將會感謝你。它需要花費輸出名稱的時間/精力比持續地將一些任意變量名連接到它所保存的數據所花費的時間/精力要少。從<select multiple>

var opts = [].reduce.call(
    document.form.nl01.options, 
    function (c, el) { 
    if (el.selected) 
     c.push(el.value); 
    return c; 
    }, []); 

第三選擇的選項值的

+0

我想我明白你的意思,但是我怎麼得到它首先檢查maidenName是否有一個值(它是可選的),然後運行該函數並最終將它添加到文檔中.result.endresult.value?如果maidenName存在,請執行firstName +(maidenName)+ lastname else firstName + lastName? – Nancy76

+0

@ Nancy76 - 我改變了功能。你基本上有發現條件,但只是不知道如何檢查值。我只是簡單地檢查input元素是否有一個值(即,它不是一個空字符串 - 如果輸入元素爲空,這是輸入元素給出的)。如果它沒有保留一個值,那麼就不用括號或孃家姓。 :) – enhzflep