2012-01-26 99 views
0

我有一個大問題,即時嘗試建立一個網站圍繞one page template system所以聽到它是如何工作.....用戶點擊鏈接:<a href="#" id="<? md5('....').'-link-stay' ?>">.....</a>但問題是我有更多的100 PHP生成的鏈接在一個頁面上連接到一個監聽器,出於某種奇怪的原因,每次鏈接被點擊,並且用戶返回到主頁面時,它會使請求翻倍......換句話說,用戶點擊一個用戶:鏈接....轉到一個頁面.....他看到了很多鏈接....用戶點擊鏈接.....轉到一個頁面。但如果用戶返回ajax調用雙打? ex。 1帖子,... 2帖子..... 4帖子.... 8帖子..... 16帖子..... 32帖子...... 64帖子..... im試圖用鍍鉻進行調試,它顯示了有多少帖子是由每次一個network(HTTP Request)已經被調用,它顯示有多少個職位正在取得理想,加倍jquery post multiple submission errors

HTML標記:

<script> 
    // main menu 
    $('header a').addClass('lvl1Links'); 
    // classifeds 
    $('#9090 a').addClass('lvl1Links'); 
    //states - citys - cats ads 
    $('#selectable a').addClass('lvl1Links'); 
    // re-install link management 
    $(function(){ 
     $('.lvl1Links').click(function(event) { 
      event.preventDefault(); 
      $('pload').html('<img src="source/image/lbl.gif">'); 
      var page = $(this).attr('id'); 
      var huh = $('input:hidden').val(); 
      var data = 'pop='+huh+'&page='+page; 
      $.post('source/php/bots/authorize.php',data,function(data){ 
        $('#pager_master_div').html(data).slideDown(); 
        $('pload').html(''); 
       }); 
     }); 
    }); 
    // speacial style on certain input boxes 
    $('input').addClass('input'); 
    $('#op').removeClass('input'); 
    $('#sp').removeClass('input'); 
    $('button').button(); 
    //$("#BUser_Home_Wrapper a .lvl1Links").removeClass("lvl1Links"); 
    </script><div id="9090"><ol id="selectable"><li class="ui-state-default"> 
    <div class="contr"><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alabama:1">Alabama</a></div><div class="citys"><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alabama:1.Birmingham:1">Birmingham</a><br><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alabama:1.Montgomery:2">Montgomery</a><br><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alabama:1.Mobile:3">Mobile</a><br><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alabama:1.Huntsville:4">Huntsville</a><br><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alabama:1.Tuscaloosa:5">Tuscaloosa</a><br><li class="ui-state-default"> 
    <div class="contr"><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alaska:2">Alaska</a></div><div class="citys"><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alaska:2.Anchorage:6">Anchorage</a><br><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alaska:2.Juneau:7">Juneau</a><br><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alaska:2.Fairbanks:8">Fairbanks</a><br><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alaska:2.Sitka:9">Sitka</a><br><a href="#" id="d1457b72c3fb323a2671125aef3eab5d.class.Alaska:2.Ketchikan:10">Ketchikan</a><br></ol></div><style> 
    .contr{ 

    } 
    .citys{ 
     display:none; 
     position:absolute; 
     height:110px; 
     width:100px; 
     top:30px; 
     left:-5%; 
     right:-5%; 
     z-index:100; 
     background:#FFF; 
     border-radius:5px; 
     border:5px #0099FF solid; 
     font-size:10px; 
    } 
    .cityz{ 
     display:none; 
     position:absolute; 
     height:200; 
     width:100px; 
     top:-100px; 
     left:-5%; 
     right:-5%; 
     z-index:100; 
     background:#FFF; 
     border-radius:5px; 
     border:5px #0099FF solid; 
     font-size:10px; 
    } 
    .citys a{ 
    font-size:15px;  
    } 
    .cityz a{ 
    font-size:15px;  
    } 
    #selectable li a{ 
    font-size:14px; 
    } 
    #selectable li city a{ 

    } 
    #selectable { 
     list-style-type: none; margin: 0; padding: 0; 
    } 
    #selectable li { 
    margin:5px; 
    position:relative; 
    border-radius:10px; 
    padding: 1px; 
    float:left; 
    width: 100px; 
    height: 25px; 

    text-align: center; 
    } 
    </style> 
    <script> 
     $('.ui-state-default').mouseenter(function(e) { 
       $('.citys', this).slideDown(); // added this 
      }).mouseleave(function(e) { 
       $('.citys', this).toggle(); // added this 
      }); 
     // bttom rows 
     $('.ui-state-default').mouseenter(function(e) { 
       $('.cityz', this).slideDown(); // added this 
      }).mouseleave(function(e) { 
       $('.cityz', this).toggle(); // added this 
      }); 


    </script> 

    <results></results><input type="hidden" id="fortknox" name="fortknox" value="c4ca4238a0b923820dcc509a6f75849b"><results></results><input type="hidden" id="fortknox" name="fortknox" value="c4ca4238a0b923820dcc509a6f75849b"> 
     <script> 
     $('input').addClass('input'); 

     $('button').button(); 
// click event for all links 
$(function(){ 
    $('.lvl1Links').click(function(event) { 
     event.preventDefault(); 
     $('pload').html('<img src="source/image/lbl.gif">'); 
     var page = $(this).attr('id'); 
     var huh = $('input:hidden').val(); 
     var data = 'pop='+huh+'&page='+page; 
     $.post('source/php/bots/authorize.php',data,function(data){ 
       $('#pager_master_div').html(data).slideDown(); 
       $('pload').html(''); 
      }); 
    }); 
}); 

</script> 

PHP代碼:

<? 
case 'class': 
require('functions/cats.php'); 
classie($p); 
break; 

function classie($p){ 
    connect(); 
    $state = explode(':',$p[2]); 
    $total = count($state); 
    $s = md5('?').'.class.'; 
    $sid = $state[1]; 
    $state = $state[0]; 
    echo "<a href=\"#\" id=\"$s$state:$sid\">$state</a>"; 
    echo "<ol id=\"selectable\">"; 
    if(isset($p[3])){ 
     $city = explode(':',$p[3]); 
     $cid = $city[1]; 
     $city = $city[0]; 
     echo " : <a href=\"#\" id=\"$s$state:$sid.$city:$cid\">$city</a>"; 
     $sqlca = mysql_query("SELECT * FROM `cats` WHERE `cityId`= ".$cid." "); 
      while($rowsy = mysql_fetch_array($sqlca)){ 
     echo " : <a href=\"#\" id=\"$s$state:$sid.".$city.":".$cid.".".$rowsy['name'].":".$rowsy['id']."\">".$rowsy['name']."</a>"; 
      } 
    } 
?> 
+0

嘗試使用「上」,而不是'一下來避免這種情況:$(「 lvl1Links‘)上(’點擊」,功能(事件){..... – 2012-01-27 00:56:24

回答

0

您可以用解除綁定的點擊,以防止雙擊,造成解決您的問題多個條目。看看我的版本有關代碼的JS如下:

$(function(){ 
     $('.lvl1Links').bind(''click,function(event) { 
     event.preventDefault(); 
     $('pload').html('<img src="source/image/lbl.gif">'); 
     var page = $(this).attr('id'); 
     var huh = $('input:hidden').val(); 
     var data = 'pop='+huh+'&page='+page; 
     $.post('source/php/bots/authorize.php',data,function(data){ 
      $('#pager_master_div').html(data).slideDown(); 
      $('pload').html(''); 
     }); 
     $(this).unbind(event); 
    }); 
});