繁体   English   中英

如何在文本字段输入上执行javascript函数并用新值更新字段

[英]How can I execute a javascript function on text field input and update the field with new value

我使用JavaScript函数在iframe标记中找到src字符串并返回找到的src字符串,并且它可以单独正常运行,但是我需要在文本输入字段上使用它来在输入粘贴中获取iframe src,并更新与该函数返回的新值相同的字段。

搜索功能正常工作

function findSrc(str, pointa, pointb) 
{
  var str = " "+str;
  var pa = str.indexOf(pointa);

  if( pa == 0 ) return "";
  pa += pointa.length;
  var pb = str.indexOf(pointb,pa) - pa;

  return str.substr(pa,pb);
}

用于文本字段的方法,但在控制台中失败并没有错误消息

var fld = document.getElementById('textfield');
var src = fld.value;
fld.oninput = function() {
  if( src.indexOf('<iframe') != -1 ) {
    fld.value = findSrc(src, 'src="', '"');
  }
}

的HTML

<input type="text" id="textfield" name="embedsrc" size="50" value="" />

什么是实现我的目标的正确方法?

我使用以下方法进行操作,但是,如果有更好或有效的方法,请告知。

相同的字符串搜索功能

function findSrc(str, pointa, pointb) 
{
  var str = " "+str;
  var pa = str.indexOf(pointa);

  if( pa == 0 ) return "";
  pa += pointa.length;
  var pb = str.indexOf(pointb,pa) - pa;

  return str.substr(pa,pb);
}

创建了一个新功能

function getsrc() 
{
  var fld = document.getElementById('textfield');
  var src = fld.value;
  if( src.indexOf("<iframe") != -1 ) {
    fld.value = findSrc(src, 'src="', '"');
  }
}

HTML将addEventListener附加到该字段,并回调新函数

<input id="textfield" name="frmsrc" type="text" size="50" value="" />
<script>
document.getElementById("textfield").addEventListener("input", getsrc);
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM