2011-12-20 11 views
1

正常に機能するこの基本的な自動完全なJavaScriptがありますが、Webページをハードコードする必要があります。私は何をしようとしていることはPerlスクリプト作業のJavaScriptコードは次のようになりますパス変数自動完了JavaScript

を使用して、ページに「オートコンプリート」変数データを送信です:

var CustomArray = new Array('an apple','alligator','elephant','pear','kingbird', 
          'kingbolt','kingcraft','kingcup','kingdom','kingfisher', 
          'kingpin','SML'); 

は今、新しいコードは次のとおりです。

var CustomArray=new Array(Autocomplete); 

とPerlスクリプトは次のように見ているブラウザにデータを送り返している:

var Autocomplete = 'an apple','alligator','elephant','pear','kingbird', 
'kingbolt','kingcraft','kingcup','kingdom','kingfish er','kingpin','SML' 

は、私はまた、

var Autocomplete = ['an apple','alligator','elephant','pear','kingbird', 
        'kingbolt','kingcraft','kingcup','kingdom','kingfisher', 
        'kingpin','SML'] 

を試みたが、私が手:'an apple','alligator','elephant','pear','kingbird','kingbolt','kingcraft','kingcup','kingdom','kingfish er','kingpin','SML'すべての自動補完で1つの文字列として。

私はそれが正しく動作するように思える。完全なHTMLコードは以下の通りです。

明らか
var CustomArray = "'an apple','alligator'".split(','); 

、私はアイテムの残りの部分を省略:それはこのそれはあまりにも大丈夫ですしなければならない場合

var CustomArray = "an apple, alligator".split(','); 

または、:

<html> 
<head> 
<script language="javascript" type="text/javascript" src="http://www.comicinvasion.com/Code/Java/Autocomplete/Autocomplete.js"></script> 
<script language="javascript" type="text/javascript" src="http://www.comicinvasion.com/Code/Java/Autocomplete/Common.js"></script> 
<script language="JavaScript1.2" type="text/javascript" src="http://www.ComicInvasion.com/cgi-bin/Autocomplete.pl"></script> 


<script> 
var CustomArray=new Array(Autocomplete); 
</script> 

</head> 

<body> 

<input type='text' style='font-family:verdana;width:300px;font-size:12px' id='ACMP' value=''/> 

<script> 
var obj = actb(document.getElementById('ACOMP'),CustomArray); 
</script> 

</body> 
</html> 

答えて

2

まず、タイプミスがあるようです。入力要素のidACMPですが、'ACOMP'getElementByIdに渡します。

第2に、Perlスクリプトのソースコードを提供しません。自動補完が動作する、以下のHTMLで

#!/usr/bin/perl 

use utf8; 
use strict; use warnings; 
use CGI(); 

local $| = 1; 

print CGI::header(
    -type => 'text/javascript', 
    -charset => 'utf-8', 
); 

print <<JS; 
var Autocomplete = [ 
    'an apple','alligator','elephant','pear','kingbird', 
    'kingbolt','kingcraft','kingcup','kingdom','kingfisher', 
    'kingpin','SML' 
]; 
JS 

<!DOCTYPE html> 
<html> 
<head> 

<script type="text/javascript" 
src="http://www.comicinvasion.com/Code/Java/Autocomplete/Autocomplete.js"></script> 

<script type="text/javascript" src="http://www.comicinvasion.com/Code/Java/Autocomplete/Common.js"></script> 

<!-- Replace with the URI of your script --> 
<script type="text/javascript" src="http://test:8080/cgi-bin/autocomplete.pl"></script> 

</head> 

<body> 

<input type='text' 
style='font-family:verdana;width:300px;font-size:12px' 
id='ACOMP' value=''> 

<script type="text/javascript"> 
var obj = actb(document.getElementById('ACOMP'), Autocomplete); 
</script> 

</body> 
</html> 

最後に、私はそれは好奇心JavaScriptファイルは、Javaと呼ばれるディレクトリに住んでいることを見つけることは、次のようになります。

+0

それは誤字のようです。 id助けてくれてありがとう! – Blnukem

0

はperlスクリプトがこれを返すようそこにはすべてが含まれています。

+0

試してみましたが、今すぐあなたはhttp://www.comicinvasion.com/autocomplete.htmで見ることができます。文字「a」を入力してください。 – Blnukem

関連する問題