【发布时间】:2011-08-11 08:23:51
【问题描述】:
我会说实话。我是日本一所学校的老师,我并没有太多的编程背景。我涉猎比其他任何事情都多,但我认为尝试制作一个孩子们可以用于活动的英文名称生成器可能会很有趣。如果我让它将结果作为警报返回,该程序就可以正常工作,但我真正想做的是更新 textarea 的值,以便它反映生成的名称而不是“您的姓名”。我已经在论坛上倾注了几个小时,并且不太明白为什么我所拥有的东西不起作用,因为我看到的许多用于动态更改 textarea 值的解决方案都提供了相同的建议,即将其更改为跟随。
function someFunction()
{
var x=document.getElementById("id for textarea")
x.value = "new value"
}
警告:手工编码,可能有错误。
<script type="text/javascript">
function name_gen()
{
var randomNum;
var form = document.getElementById("nameGenForm");
var result = document.getElementById("nameSpace");
var boyNames = new Array("Adam", "Ben", "Cory", "David", "Eric", "Frank", "George",
"Harry", "Isaac", "James", "Kevin", "Lance", "Matthew",
"Nathan", "Patrick", "Quincy", "Ryan", "Sean", "Terrance",
"Vincent", "William", "Xavier", "Zach");
var girlNames = new Array("Alice", "Beth", "Catherine", "Danielle", "Erika", "Holly",
"Isabelle", "Jenny", "Kristen", "Lisa", "Mary", "Naomi",
"Patricia", "Quinn", "Rhianna", "Sarah", "Tiffany", "Wendy");
if (form.male.checked == true)
{
randomNum = Math.floor(Math.random()*boyNames.length);
name = boyNames[randomNum];
}
else if (form.female.checked == true)
{
randomNum = Math.floor(Math.random()*girlNames.length);
name = girlNames[randomNum];
}
else
{
alert("Please make a selection.");
return false;
}
alert(name);
//result.value = name;
}
</script>
这是随附的 HTML。
<form id="nameGenForm" action="" method="post">
<fieldset>
<legend>Random Name Generator</legend>
<input id="male" name="sex" type="radio" />
<label for="male">Male</label>
<input id="female" name="sex" type="radio" />
<label for="female">Female</label><br />
<input type="submit" value="Generate" onclick="name_gen();" />
</fieldset>
</form>
<div id="textArea">
<textarea rows="1" cols="20" id="nameSpace" readonly>Your Name Here</textarea>
</div>
【问题讨论】:
-
+1 因为你很诚实 :)
标签: javascript html onclick textarea