如何从用户输入中拆分逗号分隔的字符串

时间:2014-05-29 03:46:33

标签: javascript arrays string comma

我希望能够让用户在输入框中列出内容(通过警报显示),然后提交后,这些选项会替换字符串中的默认文本。它们需要在每个逗号之后分开,并且每个列出的东西,循环应该在运行时将文本粘贴到其中,并重复列表中的其余部分。

这可能吗?

这就是我现在正在做的事情: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中使单词的每个字母成为自己的链接来实现的。这不是我想要的,但是我已经接触过与用户输入文本的循环交互。

1 个答案:

答案 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);
}

这应该可以满足您的需求。