我正在尝试从用户输入中收集数据,特别是文本框和下拉选项,并生成用户输出。任何帮助将不胜感激。
javascript应该收集第一个文本框中的值,将其转换为小写,然后查看它是否是正确的答案。如果是,则应检查用户是否想要关于他们所作用的电影的其他信息(“是”),或者不是(“否”)。数据库中的演员代码应显示在第一段中,而演员所在的电影列表应显示在第二段中。每部电影都显示在一个单独的行上。
function gather()
{
var name = document.getElementById("name").value;
return name.toLowerCase();
var info = document.getElementById("info").value;
return info.toLowerCase();
var code = document.getElementById("code").value;
var titles = document.getElementById("titles").value;
if (name = "patrick swayzee")
{
code = "Patrick Swayzee's code is ps01";
if (info = "yes")
{
titles = "Film 1" + \n + "Film 2";
}
else
{
titles = "";
}
}
else
{
code = "Request does not exist. Please enter another actor/actress's name."
}
}
<html>
<head>
<title>Actor/Actress Database</title>
<script src="act_req.js" type="text/javascript">
</script>
</head>
<body>
<table>
<tr>
<td><b>Name:</b></td>
<td><b>Info:</b></td>
<td></td>
</tr><tr>
<td><input type="text" id="name="></input></td>
<td>
<select id="info">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
</td>
<td><button onclick="gather()">Search</button></td>
</tr>
</table>
<p id="code"></p>
<p id="titles"></p>
</body>
</html>
答案 0 :(得分:1)
你在条件中缺少额外的=:
if (info == "yes")
事实上,你应该使用===所以jshint不会抱怨它。
答案 1 :(得分:1)
就在这里,我在代码中找到的所有内容都会完全失败,这会阻止它正常工作(因为我有点无聊):
1)
return name.toLowerCase();
return info.toLowerCase();
这不是return
的工作原理。如果要将值放入小写,可以执行以下操作:
var name = document.getElementById("name").value.toLowerCase();
2)
var code = document.getElementById("code").value;
在这里,您尝试分配&#34;代码&#34;的值。变量。这个问题是您尝试稍后在代码中设置该变量的值。你打算做的只是在该变量中捕获元素:
var code = document.getElementById("code");
对于var titles
行btw来说,这是相同的。
3)
if (name = "patrick swayzee")
在此分配为某个名称命名。你想使用===
(严格的平等是最好的)。
同样适用于if (info
行
4)
code = "Patrick Swayzee's code is ps01";
在尝试为元素分配内容时(参见2),您现在应该将其分配给该元素的属性。 IE9 +和最近的浏览器使用textContent
,因此该行应为:
code.textContent = "Patrick Swayzee's code is ps01";
在所有其他地方也是如此。
5)
<td><input type="text" id="name=">
应该是
<td><input type="text" id="name">
注意区别?一个拼写错误可能会破坏你的代码。
我可能错过了一两件事,但这里some working code - look it over。其他的回答者可能会抓住其余的。祝你的节目好运。
答案 2 :(得分:0)
<button type="button"
你可能意味着
window.onload=function() {
document.getElementById("gather").onclick=function() {
var name = document.getElementById("name").value.toLowerCase();
var info = document.getElementById("info").value.toLowerCase();
var code = document.getElementById("code");
var titles = document.getElementById("titles");
var codeString = "", titleString="";
if (name == "patrick swayzee") {
codeString = "Patrick Swayzee's code is ps01";
titleString = (info == "yes")?"Film 1\nFilm 2":"";
} else {
codeString = "Request does not exist. Please enter another actor/actress's name."
}
code.innerHTML=codeString;
titles.innerHTML=titleString;
}
}
<table>
<tr>
<td><b>Name:</b></td>
<td><b>Info:</b></td>
<td></td>
</tr>
<tr>
<td>
<input type="text" id="name" value=""/></td>
<td>
<select id="info">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
</td>
<td>
<button type="button" id="gather" >Search</button>
</td>
</tr>
</table>
<p id="code"></p>
<p id="titles"></p>