我希望能够让用户在输入框中列出内容(通过警报显示),然后提交后,这些选项会替换字符串中的默认文本。它们需要在每个逗号之后分开,并且每个列出的东西,循环应该在运行时将文本粘贴到其中,并重复列表中的其余部分。
这可能吗?
这就是我现在正在做的事情:http://jsbin.com/nivah/1它只会让你输入一件事。因为如果你用逗号键入几个选项,它会包含逗号和链接中的所有选项,显然不会返回任何内容。
这是我的javascript代码。
var link0='http://www.twitter.com/';
var user=['bob', 'joe', 'tony'];
var user = prompt("I want to message:", user);
var link3=".tumblr.com";
var iframe = document.getElementById("username");
var opt = (link0 + user + link3);
var el = document.createElement("iframe");
for(var i = 0; i < user.length; i++) {
el.setAttribute("src", opt);
iframe.appendChild(el);
}
var array = user.split(',');
任何人都知道我做错了什么?
我之前有工作要根据我提交的内容重复循环,但它是通过在iframe中使单词的每个字母成为自己的链接来实现的。这不是我想要的,但是我已经接触过与用户输入文本的循环交互。
答案 0 :(得分:2)
您需要使用 split(),但需要在代码中的正确位置。此外,你的逻辑不起作用,你需要在for循环中创建每个iframe,如下所示 -
工作演示 - http://jsbin.com/ciquvatu/1/edit
var link0='http://www.tumblr.com/ask_form/';
var user = ['killthemwithyourawesome', 'barrowman-ilove', 'down-with-these-ships'];
var user = prompt("I want to message:", user);
var link3=".tumblr.com";
var array = user.split(',');
for(var i = 0; i < array.length; i++) {
var iframe = document.getElementById("username");
var opt = (link0 + array[i] + link3);
var el = document.createElement("iframe");
el.setAttribute("src", opt);
iframe.appendChild(el);
}
这应该可以满足您的需求。