Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Auto complete not working

Status
Not open for further replies.

DANZIG

Technical User
Mar 8, 2001
142
US
Hello,
Can somebody give me a hand on this auto complete?

Code:
<html>

<head>
<script language=JavaScript>

var arraydata1 = new Array();
var arraydata2 = new Array();


arraydata1[0] = 'a';
arraydata2[0] = 'b';
arraydata1[1] = 'aa';
arraydata2[1] = 'bb';
arraydata1[2] = 'aaa';
arraydata2[2] = 'bbb';
arraydata1[3] = 'aaaa';
arraydata2[3] = 'bbbb';


function populateFields(string1input) {
   if (string1input) {
      for (i = 0; i < string1.length; i++) {
         if (string1input == arraydata1[i]) {
            blahForm.string2output.value = arraydata2[i];
           
         }
      }
   }
   else {
      blahForm.string2output.value = '';
      
   }
}

</script>
<body>
<form name=blahForm>
<input type=text name=string1inputcode onkeyup='populateFields(parseInt(this.value, 10));'><b>string1 input</b><br>
<input type=text name=string2output onkeyup=''><b>string2 output</b><br>
</form>
</body>
</html>

(The code is actually kaht's code I reworked for my needs)

It's not working and I'm not quite seeing why myself.




Thanks, Danzig
 
Code:
function populateFields(string1input) {
   if (string1input) {
      for (i = 0; i < [red]string1.length[/red]; i++) {
         if (string1input == arraydata1[i]) {
            blahForm.string2output.value = arraydata2[i];
           
         }
      }
   }
   else {
      blahForm.string2output.value = '';
      
   }
}

What is "string1"? Might you have meant "arraydata1"?

--Chessbot

"See the TURTLE of enormous girth!"
-- Stephen King, The Dark Tower series
 
It was that and
Code:
<input type=text name=string1inputcode onkeyup='populateFields(parseInt(this.value, 10));'>

should read

Code:
<input type=text name=string1inputcode onkeyup='populateFields(this.value);'>

What would you need to do to take this to the next step and convert say a phrase as it is being typed?


Thanks, Danzig
 
Code:
var arraydata1=new Array("a","ab","abc");
var arraydata2=new Array("1","12","123");

function populateField(source, target)
{
  if (target)
  {
    var char = "";
    for (var i=0; i < arraydata1.length; i++)
    {
      if (source.value == arraydata1[i])
      {
        target.value = arraydata2[i];
      }
    } else {
    target.value = "";
    }
  } else {
  target.value = "";
}
</head>
<body>
<form>
<input type="text" name="i" onkeyup="populateField(this,this.form.elements['o']);"><br>
<input type="text" name="o">
</form>
</body>
</html>

--Chessbot

"See the TURTLE of enormous girth!"
-- Stephen King, The Dark Tower series
 
That seems to generate a lot of errors

Code:
<html>

<head>
<script language=JavaScript>

var arraydata1=new Array("a","ab","abc");
var arraydata2=new Array("1","12","123");

function populateField(source, target)
{
  if (target)
  {
    var char = "";
    for (var i=0; i < arraydata1.length; i++)
    {
      if (source.value == arraydata1[i])
      {
        target.value = arraydata2[i];
      }
    } else {
    o.value = "";
    }
  } else {
  target.value = "";
}
</script>
</head>
<body>
<form>
<input type="text" name="i" onkeyup="populateField(this,this.form.elements['o']);"><br>
<input type="text" name="o">
</form>
</body>
</html>

Not sure as to just why I am a newbie to jscript I mosly do asp and vbs


Thanks, Danzig
 
I think there was a misplaced curly bracket or two. Is this better?

Code:
<script language=JavaScript>

var arraydata1 = new Array("a","ab","abc");
var arraydata2 = new Array("1","12","123");

function populateField(source, target) {
    if (target) {
        var char = "";
        for (var i=0; i < arraydata1.length; i++) {
            if (source.value == arraydata1[i]) {
                target.value = arraydata2[i];
            else {
                o.value = "";
            }
        }
    } else {
        target.value = "";
    }
}
</script>

*cLFlaVA
----------------------------
Lois: "Peter, you're drunk!"
Peter: "I'm not drunk, I'm just exhausted from stayin' up all night drinking!
 
Still semms to have something a mis says a syntax error on line 16 and if you type in the first input box it gives object required errors.

Code:
<html>

<head>
<script language=JavaScript>

var arraydata1 = new Array("a","ab","abc");
var arraydata2 = new Array("1","12","123");

function populateField(source, target) {
    if (target) {
        var char = "";
        for (var i=0; i < arraydata1.length; i++) {
            if (source.value == arraydata1[i]) {
                target.value = arraydata2[i];
            else {
                o.value = "";
            }
        }
    } else {
        target.value = "";
    }
}
</script>
</head>
<body>
<form>
<input type="text" name="i" onkeyup="populateField(this,this.form.elements['o']);"><br>
<input type="text" name="o">
</form>
</body>
</html>

Is this going to allow for more than one word matching or is it still just a single word function?


Thanks, Danzig
 
Code:
<html>

<head>
<script language=JavaScript>

var arraydata1=new Array("a","ab","abc");
var arraydata2=new Array("1","12","123");

function populateField(source, target) {
    for (var i=0; i < arraydata1.length; i++) {
		if (source.value == arraydata1[i]) {
            target.value = arraydata2[i];
        }
	}
}
</script>
</head>
<body>
<form>
<input type="text" name="i" onkeyup="populateField(this,this.form.elements['o']);"><br>
<input type="text" name="o">
</form>
</body>
</html>

*cLFlaVA
----------------------------
Lois: "Peter, you're drunk!"
Peter: "I'm not drunk, I'm just exhausted from stayin' up all night drinking!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top