我使用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="" />
实现目标的正确方法是什么?
答案 0 :(得分:0)
我使用以下方法,但如果有更好或更有效的方法,请通知。
相同的字符串搜索功能
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>