2017-01-30 14 views
3

ブラウザでこの構文エラーが発生し続けます。私はここで何が欠けているのか分かりません。Uncaught ReferenceError:HTMLButtonElement.onclickでルックアップが定義されていません

基本的には、外部Web APIに対して、クエリパラメータで渡されたパラメータとしてチェックされたチェックボックスの値の配列をとるリクエストを作成しようとしています。

ここは私のjavascriptです。ここで

function lookup() { 
     var query = document.getElementById("sform").value; 
     // var res = PageMethods.lookupfromjs_Click(query, onSuccess, onError); 
     var dttypeList; 
     $('#Button1').click(function() { 
      $('input[type=\"checkbox\"]').each(function(){ 
       dttypeList.push(this.name); 
       alert($.toJSON(dttypeList)); 
      }); 
     });​ 
    } 

は、HTMLが

<!DOCTYPE html> 

<head runat="server"> 
    <title></title> 
    <link href="style.css" rel="stylesheet" type="text/css" /> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" type="text/javascript"></script> 
     <script src="Scripts/lookup.js" type="text/javascript"></script> 
    <script src="Scripts/getdatatype.js" type="text/javascript"></script> 
</head> 
<body> 
    <section class="webdesigntuts-workshop"> 
    <form id="form1" runat="server"> 
     <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" > 

     </asp:ScriptManager>  
    <div> 

     <asp:TextBox type="search" name="search" id="sform" placeholder="What are you looking for?" runat="server" />  
     <asp:TextBox type="search" name="hdnText" id="hdnText" runat="server" /> 

     <button id="Button1" onclick="lookup()" type="button">Search</button> 

    </div> 
    <div> 
     <p> </p> 
    </div> 

      <div> 
       <button id="Getdtbtn" type="button" onclick="getDatatypes()">Get Datatypes</button> 
      </div> 
     </form> 


     </section> 
</body> 
</html> 
+1

あなたの検索はグローバルにアクセスできません。また、dttypelistは、[] – YOU

+0

として不完全なことを申し訳ありません。私はそれが関連していたと思っていません。私のjavascriptは、スクリプトフォルダ内のlookup.jsという別のファイルにあります。このファイルは、htmlファイルのscriptタグを使って参照しています。 – codingyo

答えて

2

ある検索機能でも宣言する必要がありますか?限られたHTMLは、あなたが投稿スニペットを使って、私はあなたが達成しようとしているかもしれないものに似ている一緒に近い何かを考え出すことを試みた:

var query = document.getElementById('sform').value; 
 
var dtypeList = []; 
 
$('#Button1').click(function() { 
 
    $('input[type="\checkbox\"]').each(function() { 
 
    dtypeList.push(this.name); 
 
    alert(JSON.stringify(dtypeList)); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<form id="sform"> 
 
    <label for="Hello">Hello</label> 
 
    <input type="checkbox" name="Hello"> 
 
    <label for="World">World</label> 
 
    <input type="checkbox" name="World"> 
 
    <button id="Button1" type="button">Search</button> 
 
</form>

これは、まだチェックボックスのすべてをループし、それらを吐き出しますボタンをクリックするとアラートに移動します。

また、$ .toJSON()については、この記事を参照してください。https://stackoverflow.com/a/7759630/3611025

+1

codepenの代わりにスニペットを使うべきです。それは、SO上でHTMLの権利を実証することができました。 – Soviut

+1

@Soviutアドバイスをいただきありがとうございます。 stackoverflowに関する質問に回答し、まだ物事に慣れ親しんでいることはまったく新しいことです。新しいヘルパーを手助けしてくれる人々を見てうれしく思います:) –

関連する問題