老實說。我是日本一所學校的老師,而且我沒有太多編程背景。我比其他任何事情都要多花點心思,但我認爲嘗試製作一個英文名字生成器,讓孩子們可以用來進行一項活動可能很有趣。該程序工作得很好,如果我有它返回結果作爲警報,但我真正想要做的是更新textarea的值,以便它反映生成的名稱,而不是「你的名字在這裏」。我一直在爭論幾個小時,不太明白爲什麼我沒有工作,因爲我看到的許多動態更改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對於你是非常誠實的:) – Anji 2011-04-23 04:14:51