2013-07-19 2 views
-2

안녕 얘들 아 J는 자바 스크립트에 문제가 있습니다. 이것은 내가 포스트 메시지의 확인 후, 나는 clicked_id 얻을 항목을 클릭,하지만 다시 한번이 항목을 클릭하면자바 스크립트 중복 ID

function reply_click(clicked_id) { 
    var la = <? php echo json_encode($logOptions_id); ?> ; 
    var mood = clicked_id; 
    $.post('msg.php', { 
     myne: la, 
     mood: mood 
    }, function (data) { 
     $('#nov').html(data); 
    }); 
    $('#postDiv').on('keydown', '#textarea', function (e) { 
     if ((e.which == 13) && !event.shiftKey) { 
      var textarea = $("#textarea").val(); 
      $.post('pst.php', { 
       mibe: la, 
       voot: mood, 
       pst: textarea 
      }, function (data) { 
       var textarea = $("#textarea").val(''); 
      }); 
     } 
    }); 
} 

문제는, 코드, 내가 두 번째 ID를 얻고, 후 후 버튼을 입력 데이터베이스 첫 번째 항목과 두 번째 항목의 ID가 다르며 두 번째 항목의 값이 중복되는 것으로 보입니다. 다른 항목을 클릭하고 여러 번 클릭하면이 문제가 내 DB를 스패밍합니다.

답변

3

버튼을 클릭 할 때마다바인딩을 #textarea에 추가합니다. 따라서 버튼을 5 번 클릭하면 Enter 키를 누르면 keydown 바인딩이 5 번 실행됩니다.

$('#postDiv').on('keydown', '#textarea', ...)을 함수 외부로 이동하고 문서 준비 처리기에서 한 번 수행해야합니다.

관련 문제