未捕获的ReferenceError:HTMLButtonElement.onclick

时间:2017-01-30 23:28:53

标签: javascript jquery checkbox syntax-error

我一直在浏览器上遇到此语法错误。我不知道我在这里错过了什么。

基本上我正在尝试向外部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 个答案:

答案 0 :(得分: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

的帖子