2016-08-10 4 views
0

Ich habe eine Texteingabe und einen Link darunter (Ich benutze Webix) Was ich tun möchte ist, einen Teil einer Verbindung (IP-Adresse) in das Textfeld einzugeben und diese Adresse anzuwenden zu einem Link.Dynamische Verbindung von einer Texteingabe

Ich versuchte

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>" 
    }   
], 

Aber diese Notation funktioniert nicht (tatsächlich gibt einen Fehler "IPID ist nicht definiert")

My-Code Here

Gibt es eine Möglichkeit zu mach das?

Antwort

1

Seltsame Frage, ich bin nicht sehr vertraut mit webix, sondern setzen die window.open in Eine Funktion hat funktioniert. Bedenken Sie auch, dass das korrekte Attribut "onclick" und nicht "click" ist und dass eine Klammer fehlt. Fest sie auch, check it out: 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

Vielen Dank. Das Herausnehmen der Funktion war der Punkt. Im Moment habe ich es mit 'Test link' etwas verbessert, um Umleitungen zu verhindern. – letItReign

0

Über Sie Fehler "IPid" ist undefiniert auftreten, weil die declare-ID nicht mit einem Steuerelement verwendet wird möglicherweise Sie Rechtschreibfehler tun. Wenn jeder dieser Code in Ordnung versuchen, ist

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

und fügen Sie ihn, wo Sie Ihre Anfrage wie dies für weitere Aktivität senden click='"/*+window.open($("#YoutextBoxID").val()*/+"'

1

Bitte versuchen Sie dies, ich weiß nicht, ob diese Ihnen helfen oder nicht, bitte korrigieren Sie mich, wenn ich falsch bin.

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; 
+0

Die Lösung funktioniert mit einer kleinen Korretion: 'setAttribute (" href "," http: // "+ $$ (" IPid ") .getValue());' – letItReign

Verwandte Themen