如何从用户输入中拆分逗号分隔的字符串
Posted
技术标签:
【中文标题】如何从用户输入中拆分逗号分隔的字符串【英文标题】:How to split a comma separated string from user input 【发布时间】:2014-05-29 03:46:32 【问题描述】:我希望能够让用户在输入框中列出内容(通过警报出现),然后在提交后让这些选项替换字符串中的默认文本。它们也需要在每个逗号之后分开,并且列出每件事,循环应该在运行时将文本粘贴到其中,并与列表中的其余部分重复。
这可能吗?
这就是我现在正在做的事情: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 中使单词的每个字母成为其自己的链接来做到这一点的。这不是我想要的,但与用户输入文本的循环交互一样接近。
【问题讨论】:
看到这个答案:***.com/questions/3559883/… 为什么user.split()
在代码底部而不是prompt
之后?
别忘了接受适合你的答案
【参考方案1】:
您需要在代码中的正确位置使用 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);
这应该可以满足您的需求。
【讨论】:
天啊!非常感谢。我有一种感觉,我把事情完全搞砸了。它快把我逼疯了!再次感谢您! 不客气 :) 但您应该始终评估您的代码,例如 - 您知道要拆分用户输入然后创建 iframe,那么为什么在创建 iframe 后会发生拆分。 确实有道理。嗬!大多数时候我有点笨。那我还不太熟悉Javascript。仍然在学习。 :D 非常感谢您的提示。 :) 希望我记得。以上是关于如何从用户输入中拆分逗号分隔的字符串的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3 AS3修剪逗号分隔字符串(例如,用户输入的逗号分隔关键字列表)