来自文本输入的动态链接

时间:2016-08-10 09:54:43

标签: javascript html templates hyperlink webix

我有一个文本输入和它下面的链接(我使用Webix) 我想要做的是在文本字段中输入一部分链接(IP地址)并将此地址应用于链接。

我试过

elements:[
    { view:"text", label:'IP', name:"IPname", id:"IPid", value:"127.0.0.1" },
    { view:"template", height: 30, 
     template:"<span><a href='' onclick='"+window.open($$("IPid").getValue()+"'>Test link</a></span>" 
    }        
],

但是这种表示法不起作用(实际上,给出错误“IPid未定义”)

我的代码https://css-tricks.com/examples/Circulate/

有没有办法做到这一点?

3 个答案:

答案 0 :(得分:1)

奇怪的问题,我对webix不是很熟悉,但是将window.open放在一个函数中是有效的。另外请记住,正确的属性是“onclick”&#39;不要点击&#39;并且缺少一个括号。修正了它们,请查看:http://webix.com/snippet/e4e236b9

webix.ui({
  rows:[
    {
      id:"form1", view:"form", scroll:false,            
      elements:[
        { view:"text", label:'IP', name:"IPname", id:"IPid", value:"127.0.0.1" },
        { view:"template", height: 30, 
         template:"<span><a href='' onclick='fixLink()'>Test link</a></span>" 
        }        
      ],
      width: 320,
      elementsConfig:{        
        labelPosition: "top",        
      }
    }       
  ]    
});

<script>
function fixLink(){  
  window.open('http://'+$$("IPid").getValue());
}
</script>

答案 1 :(得分:1)

请试试这个,我不知道这是否会对你有所帮助,如果我错了,请纠正我。

webix.ui({
    rows:[
        {
            id:"form1", view:"form", scroll:false,            
            elements:[
                { view:"text", label:'IP', name:"IPname", id:"IPid",   value:"127.0.0.1" },
                { view:"template", height: 30, 
                    template:"<span><a href='' id='anId' click='"/*+window.open($$("IPid").getValue()*/+"'>Test link</a></span>" 
                }        
            ],
            width: 320,
            elementsConfig:{
                labelPosition: "top",        
            }
        }       
    ]    
});

func1();
function func1() {
    document.getElementById("anId").setAttribute("href",$$("IPid").getValue());
    var abc = document.getElementById("anId").getAttribute("href");
}
window.onload=func1;

答案 2 :(得分:0)

关于你错误“IPid”是未定义的,因为声明id不使用任何控件可能是你拼写错误。如果每一个都没问题,请尝试使用此代码

 $("#YoutextBoxID").val();

并将其粘贴到您的请求发送到进一步活动的位置 喜欢这个click='"/*+window.open($("#YoutextBoxID").val()*/+"'