【发布时间】:2014-10-18 23:18:20
【问题描述】:
我正在尝试从“create_name()”中获取数据并将结果写入
<p id="name"> </p>
更新变量名以显示新版本。
但是我有点迷失在诚实中,而是返回“未定义”作为名称。
代码显然到达了这部分然后失败了:
Writedata(create_name); // now write our username
menu_function();
}
function Writedata(nameUser){
document.getElementById("name").innerHTML='hello ' + nameUser + ' below are your options'; // write the username.
}
您可以在此处查看我正在尝试制作的整个部分的代码。
我希望我解释得足够清楚。
有任何问题吗?随时提问,感谢所有帮助!
init(); // lets start the inital func
function init(){ // Do some asking shit
var name = prompt('hello, what is your name?'); // ask for the name
document.write('<p id="name">hello ' + name + ' </p>');
document.write('<p id="user" >1 - create a username</p>');
document.write('<p id ="play" >2 - Play Quiz<p>');
document.write('<p id="reload">3 - quit and reload<p>');
Writedata(name); // tell our witer to write the name
}
function menu_function() {
var choice = prompt("hello " + name + " please select an option from the list to your left");
switch (choice) {
case "1": opt1_function(); break;
case "2": opt2_function(); break;
case "3": reload_method(); break;
default: menu_function(); break;
}
}
menu_function();
function opt1_function() {
alert(name + " you have selected option 1");
create_name();
}
function create_name() {
var forename = prompt("what is your forename?");
var surname = prompt("what is your surname?");
var username = alert("hello " + forename + " " + surname);
var string1 = forename.substring(0 , 1);
var create_name = alert(string1 + surname);
Writedata(create_name); // now write our username
menu_function();
}
function Writedata(nameUser){
document.getElementById("name").innerHTML='hello ' + nameUser + ' below are your options'; // write the username.
}
【问题讨论】:
-
alert()不返回任何内容,那么您期望create_name等于什么? -
@Moob 我希望警报中的文本成为变量“name”的新值,以替换以下内容中的“name”:'document.write('
你好'+名字+'
');'通过这些行:'Writedata(create_name); // 现在写下我们的用户名 menu_function(); } function Writedata(nameUser){ document.getElementById("name").innerHTML='hello ' + nameUser + ' 下面是你的选择'; // 写入用户名。 }' 让自己有点迷失了。 -
修复了!刚刚删除了警报,现在它显示
var create_name = string1 + surname; Writedata(create_name); // now write our username menu_function();并且它有效! -
查看 Alper 的解决方案。
标签: javascript function document issue-tracking