0

我有一个下拉框,一旦单击它就会更新我的 MYSQL 查询结果的分页结果,这工作正常。我遇到的问题是页面上有两个表单,第一个用于分页下拉框,第二个用于一些附加过滤器。

当我单击更新分页结果时,onlick 元素从两个表单提交数据,而不仅仅是分页表单。

我是 javascript 新手,所以我可能有错误的想法,但我认为 javascript 只会从表单中提交带有表单名称/id 的数据。

用于分页下拉框的 HTML。

 <form id="form" name="form" method="GET" action="">
         <label for="pagination"></label>
            <select name="pagination" id="pagination">
              <option value="10">10 Items Per Page</option>
              <option value="20">20 Items Per Page</option>
              <option value="30">30 Items Per Page</option>
              <option value="40">40 Items Per Page</option>
              <option value="50">50 Items Per Page</option>
              <option value="75">75 Items Per Page</option>
             </select>
       </form>

第二种形式的 HTML

         <form name="filter" id="filter" method="GET" action="visitor_list8.php">

            <label for="referrer"></label>
              <select name="referrer" id="referrer">
                <option value="">Select</option>
                <option value="Adwords">Adwords</option>
                <option value="Bing">Bing</option>
                <option value="Direct">Direct</option>
                <option value="Google">Google</option>
                <option value="Yahoo">Yahoo</option>
               </select>

             <label for="visitor_type"></label>
               <select name="visitor_type" id="visitor_type">
                 <option value="">Select</option>
                 <option value="Not Set">New</option>
                 <option value="returning">Returning</option>
               </select>

              <label for="sortby"></label>
                <select name="sortby" id="sortby">
                 <option value="">Select</option>
                 <option value="timedate">Date / Time</option>
                 <option value="page_views">Page Views</option>
                 <option value="referrer">Referrer</option>
                 <option value="search_term">Search Term</option>
                 <option value="visitor_type">Visitor Type</option>
                 <option value="company_name">Company Name</option>
                 </select>

      <input type="submit" name="button" id="btn-submit" class="btn-submit" value="Submit">
           </form>

Javascript

          $(document).ready(function() {
            $('#pagination').change(function() {
              $('form').submit();
                       });
                     });
4

4 回答 4

0

尝试以下操作以提交包含选择的表单

$(document).ready(function() {
    $('#pagination').change(function() {
        this.form.submit();
    });
});
于 2013-09-05T23:32:38.953 回答
0

更改$('form').submit();$('#form').submit();

$('form').submit();将提交页面上的每个表单,同时 $('#form').submit();将提交带有 id 的表单form

也许考虑将formid 更改为其他内容以避免混淆。

于 2013-09-05T23:32:53.330 回答
0

利用

$('#form').submit();

因此,您只触发指定表单上的提交,而不是全部触发它们。

于 2013-09-05T23:34:17.690 回答
0

是的,你的选择器太笼统了。$('#form').submit() 或 $('#filter').submit()。

于 2013-09-05T23:37:50.153 回答