Hello, I want to fill a text box automatically depending on the input from another text box. For example in the first text box the user types a company number and after the sixth digit the company name prompted automatically in the second text box.
ChristianThis message has been edited. Last edited by: Kerry,
WF Production Version: 7.7.02M WF Test Version: 7.7.02M Developer Studio: 7.7.02 HTML, EXL2K, FLEX, PDF,PPT
April 08, 2011, 11:20 AM
WFLurker
You mean something like this??
-HTMLFORM BEGIN
Autocomplete Test
<script type="text/javascript"> < !-- var suggestions = new Array("WebFocus", "Business Object", "SAP", "MicroStrategy","Microsoft Reporting Service"); var outp; var oldins; var posi = -1; var words = new Array(); var input; var key;
function setVisible(visi){ var x = document.getElementById("shadow"); var t = document.getElementsByName("text")[0]; x.style.position = 'absolute'; x.style.top = (findPosY(t)+3)+"px"; x.style.left = (findPosX(t)+2)+"px"; x.style.visibility = visi; }
function init(){ outp = document.getElementById("output"); window.setInterval("lookAt()", 100); setVisible("hidden"); document.onkeydown = keygetter; //needed for Opera... document.onkeyup = keyHandler; }
function findPosX(obj) { var curleft = 0; if (obj.offsetParent){ while (obj.offsetParent){ curleft += obj.offsetLeft; obj = obj.offsetParent; } } else if (obj.x) curleft += obj.x; return curleft; }
function findPosY(obj) { var curtop = 0; if (obj.offsetParent){ curtop += obj.offsetHeight; while (obj.offsetParent){ curtop += obj.offsetTop; obj = obj.offsetParent; } } else if (obj.y){ curtop += obj.y; curtop += obj.height; } return curtop; }
function lookAt(){ var ins = document.getElementsByName("text")[0].value; if (oldins == ins) return; else if (posi > -1); else if (ins.length > 0){ words = getWord(ins); if (words.length > 0){ clearOutput(); for (var i=0;i < words.length; ++i) addWord [words[i]); setVisible("visible"); input = document.getElementsByName("text")[0].value; } else{ setVisible("hidden"); posi = -1; } } else{ setVisible("hidden"); posi = -1; } oldins = ins; }
function addWord(word){ var sp = document.createElement("div"); sp.appendChild(document.createTextNode(word)); sp.onmouseover = mouseHandler; sp.onmouseout = mouseHandlerOut; sp.onclick = mouseClick; outp.appendChild(sp); }
function clearOutput(){ while (outp.hasChildNodes()){ noten=outp.firstChild; outp.removeChild(noten); } posi = -1; }
function getWord(beginning){ var words = new Array(); for (var i=0;i < suggestions.length; ++i){ var j = -1; var correct = 1; while (correct == 1 && ++j < beginning.length){ if (suggestions[i].charAt(j) != beginning.charAt(j)) correct = 0; } if (correct == 1) words[words.length] = suggestions[i]; } return words; }
var mouseHandlerOut=function(){ this.style.background = "white"; this.style.color= "black"; }
var mouseClick=function(){ document.getElementsByName("text")[0].value = this.firstChild.nodeValue; setVisible("hidden"); posi = -1; oldins = this.firstChild.nodeValue; } //-->This message has been edited. Last edited by: WFLurker,
WF 8105M - Portal, Dashboard - Rcaster, Data Migrator - Windows 2012 Client Server - Dev/App Studio 8105 - Data: SQL, Oracle, Neteeza,MVS
April 10, 2011, 02:16 AM
ChristianP
Hello WFLurker, thanks a lot. i will check this tomorrow. How can i combine the code with a webfocus datasource. the company names and id are in a webfocus datasource in this case a sql server 2005 table. in my project i have to build a form in which sales-people colect their contracts and the amount of savings. Later i have to build a report on this savings!!
Christian
WF Production Version: 7.7.02M WF Test Version: 7.7.02M Developer Studio: 7.7.02 HTML, EXL2K, FLEX, PDF,PPT