Javascript 如何从输入类型获取文本=";“文本”;

Javascript 如何从输入类型获取文本=";“文本”;,javascript,jquery,html,input,text,Javascript,Jquery,Html,Input,Text,HTML: 但是我从value=“1111223333”接收文本,而不是我在字段中键入的文本 如何解决 此代码来自 原始代码是: this.tags = $("#mytags") .map(function(){return $(this).val();}).get(); var UploadVideo=function(){ /** *新YouTube视频的标签数组。 * *@属性标签 *@type数组。 *@default['google-cors-upload']

HTML:

但是我从value=“1111223333”接收文本,而不是我在字段中键入的文本

如何解决

此代码来自 原始代码是:

  this.tags = $("#mytags")
          .map(function(){return $(this).val();}).get();
var UploadVideo=function(){
/**
*新YouTube视频的标签数组。
*
*@属性标签
*@type数组。
*@default['google-cors-upload']
*/
this.tags=['youtube-cors-upload'];
...
也许您对如何从input type=“text”?获取标记还有其他想法。

注意: 请注意
这个.tags
是一个
数组
。如果您使用
输入
中的
覆盖它,它将变成一个
字符串
。您确定这就是您想要/需要的吗

但是,如果您的问题像您描述的那样简单,那么像这样的解决方案必须有效:


var mytags=document.getElementById('mytags');
var btn=document.getElementById('btn');
var getAttrValue=document.getElementById('getAttrValue');
btn.addEventListener('click',function(){
//这将读取当前输入中的任何内容
警报(mytags.value);
})
getAttrValue.addEventListener('click',函数(){
//这将读取在元素的HTML属性值中设置的任何内容
警报(mytags.getAttribute('value');
})

添加标签:
从输入中获取标签值
获取属性值而不是属性值

根据您的后续编辑,看起来您不仅仅是在尝试检索输入字段的值,而是在尝试将该值转换为一个数组。您尝试的
map().get()
东西确实返回了一个数组,但只返回了一个元素数组(因为您处理的是一个字符串值)--看起来您打算在逗号上拆分该字符串:

var splitTags=function(){
this.tags=$(“#mytags”)
.val()//获取字段值
.split(/\s?,\s?/)//在逗号和(可选)空格上拆分
.filter(布尔);//删除空元素(由前导或尾随逗号引起)
console.log(this.tags);
返回此.tags;
}
//演示:
splitTags();
$(“#mytags”)。在(“change”,splitTags);

添加标签:

您的JS在什么时候运行?页面加载?在事件处理程序中?javascript是如何执行的?它将在代码运行时返回输入值;如果您希望它更新
this.tags的内容,则每当输入发生更改时,您都需要在输入上使用
更改
事件处理程序。(我也不太清楚为什么要使用map and get here,而不仅仅是
this.tags=$('#mytags').val()
)this.tags=$('#mytags').val()不工作。更新了我的第一篇帖子。感谢您的关注。请理解,不工作是一个完全无用的评论。请不要在问题部分发布解决方案。如果一个答案解决了您的问题,请单击复选标记接受它,或者自己发布答案。
var mytags=document.getElementById('mytags'));button.addEventListener('click',function(){alert(mytags.value);})
对alert工作正常。但是如何在/for this.tags=['需要在此处添加“mytags.value”'];我已经在第二个代码片段中添加了这一点。您的问题是否得到了回答?如果是,请选择一个答案。如果不是,请在注释中指定哪里出了问题/遗漏了什么。感谢您的关注。在仔细阅读@sventschui的帖子后,问题得到了解决。我添加了代码标记:$(“#mytags”).val().split(/[,]+/).filter(布尔)在UploadVideo.prototype.uploadFile=function(file){之后的upload_video.js的另一行上,所有问题都很好。因此,给出的答案都不能解决您的问题,也不能将您推向正确的方向?此评论解决了这一问题。您的js在什么时候运行?页面加载?在事件处理程序中?不适用于我:(我只想接收我在ID为mytags的字段中键入的文本,然后发送到this.tags=?而不进行拆分或替换。这将是一个简单的
this.tags=$('#mytags').val()
。如果这对您不起作用,请解释尝试时会发生什么;只说“它不起作用”没有给我们任何可以继续的信息。您是否收到错误消息?输出与预期的不同?其他信息?
  this.tags = $("#mytags")
          .map(function(){return $(this).val();}).get();
var UploadVideo = function() {
  /**
   * The array of tags for the new YouTube video.
   *
   * @attribute tags
   * @type Array.<string>
   * @default ['google-cors-upload']
   */
  this.tags = ['youtube-cors-upload'];
...
this.tags = ['youtube-cors-upload']