我根本不了解javascript,我只是喜欢为自己制作列表。我目前正在尝试创建一个html页面,我可以跟踪我最喜欢的游戏中的角色,但我遇到了一些我不知道如何解决的问题。
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的值(如果可用)添加空间和(,然后再添加< EM>)。我不知道如何实现这一目标。 (搜索没有帮助。)
示例:Amy(McCoy)Carter。 ov02是名字,ov03是姓氏,ov04是姓氏。
我认为这样的事情可能会这样,但是没有......
var space="";
do {space +=" ("+ov04+")";
ov04--;}
while (ov04>=2);
答案 0 :(得分: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);
我还要指出,如果你养成了使用有意义的变量名的习惯,那么你未来的自我和你共享代码的任何人都会感谢你。键入名称需要花费很少的时间/精力,而不是将一些任意变量名称连续地精神连接到它所拥有的数据。
答案 1 :(得分:2)
姓名
var fullName = ov02 + " " + (ov04 ? "(" + ov04 + ") " : "") + ov03;
来自<select multiple>
var opts = [].reduce.call(
document.form.nl01.options,
function (c, el) {
if (el.selected)
c.push(el.value);
return c;
}, []);
第三。你真的不应该这样做。制作一些容器div,并分别写入每个容器。