一直在努力让这个工作。我需要确保我的提示在询问单词时拒绝数字,并在询问数字时拒绝单词。我需要使用一个循环来确保所有提示都被应答或取消,并在任何时候取消它们进行通信。此外,我需要使用函数将结果写入表。
我已尝试使用typeof
和parseInt
但未能成功拒绝if
声明中的数字或字词。 typeof
总是返回一个字符串,即使我输入数字或取消。
我不确定如何使用loop
来检查所有提示是否已被回答或取消,我考虑使用typeof
,但因为我无法获得它早点工作,我没有再试过。
另外,我认为typeof
可以告诉用户他们是否在任何时候取消,但它总是返回一个字符串而不是未定义。
当我尝试在document.write
内有一堆function
表信息时,我无法打印任何内容。我只使用.getElementById
和.innerHTML
成功将变量写入表格。
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="utf-8">
<style>
table, th, td {border: 1px solid black; text-align:center; padding: 5px;}
</style>
<script>
var firstName=prompt("What is your first name?","");
var lastName=prompt ("What is your last name?","Doe");
var age=prompt ("What is your age?","21")
var phoneNumber=prompt ("What is your phone number?","123 456 7890")
var email=prompt ("What is your email?","username@domain.com")
</script>
</head>
<body>
<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
<th>Phone</th>
<th>Email</th>
</tr>
<tr>
<td id="tdFirstName"></td>
<td id="tdLastName"></td>
<td id="tdAge"></td>
<td id="tdPhoneNumber"></td>
<td id="tdEmail"></td>
</tr>
</table>
<script>
document.getElementById("tdFirstName").innerHTML = firstName;
document.getElementById("tdLastName").innerHTML = lastName;
document.getElementById("tdAge").innerHTML = age;
document.getElementById("tdPhoneNumber").innerHTML = phoneNumber;
document.getElementById("tdEmail").innerHTML =email;
</script>
</body>
</html>
答案 0 :(得分:0)
var firstName;
do
{
firstName=prompt("What is your first name?","");
}
while(!Number.isNaN(parseInt(firstName)));
和
var age;
do
{
age=prompt("What is your age?","");
}
while(Number.isNaN(parseInt(age)));
或者这个:
var questions = [
["What is your name?", "string"],
["What is your age?", "number"]
];
for(var i = 0, j = questions.length; i < j; i++)
{
var value, _break = false;
for(;;)
{
value = prompt(questions[i][0]);
if(value === null)
{
_break = true;
break;
}
if(questions[i][1] == "number")
{
if(!Number.isNaN(parseInt(value)))
{
break;
}
}
else if(questions[i][1] == "string")
{
if(Number.isNaN(parseInt(value)))
{
break;
}
}
}
if(_break)
{
break;
}
}