2015-01-31 3 views
0

안녕하세요, 저는 PHP 드롭 다운 메뉴를 통해 PHP 또는 일부 자바 스크립트를 실행하려고합니다. PHP/Java 스크립트는 버튼을 눌렀을 때 쿠키를 실행하고 설정합니다.Onclick Best Practices

저는 PHP를 처음 접했고 가장 좋은 접근 방식이 무엇인지 궁금합니다. 내가 다음과 같은 옵션이 보인다

내가 아래에 따라 자바 스크립트를 사용하여 시도

  • AJAX 호출 PHP 스크립트로 PHP 파일에 이기에, setcookie에게
  • 온 클릭 POST를 실행하는 자바 스크립트 Onlick
    • , 그것은 예상대로 작동하지 않는 것 같습니다. (id는 뭔가 잘못하고 있다고 상상해 봅니다)

      I hav e는 또한 아래와 같이 PHP 스크립트를 실행하려고 시도했다. 이것은 오히려 게시물보다 GET을 실행하는 것 어떤 조언을 크게 감상 할 수

      //sets the security cookie, High, Medium, Low 
      
      function SetSecurityCookie(c_name,value,expiredays) 
      { 
          var exdate=new Date() 
          exdate.setDate(exdate.getDate()+expiredays) 
          document.cookie=c_name+ "=" +escape(value)+ 
          ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) 
      

      <script src="js/security.js" type="text/javascript"></script> 
      
      <li><a href="includes/LowSec.php" method="post"><span>Low</span></a></li> 
      

      security.js (그래서 그냥 스크립트를 실행하는 대신 브라우저로 PHP 페이지를로드) .

  • +0

    @Barmar 그 하나, 감사합니다 설명합니다. – iNoob

    +3

    은 onClick = '...'을 사용하지 마십시오. 이벤트 리스너 사용 –

    답변

    1

    를 사용하여 반환 값은 기본 링크 동작을 방지하기 위해 :

    <a href="#" onClick="SetSecurityCookie('SecHigh','COOKIEVALUE','1'); return false"> 
    

    을하지만, 위에서 언급 한 바와 같이이 jQuery를 이벤트 리스너를 사용하는 것이 좋습니다.

    UPD : jQuery를 예 :

    <a href="/includes/LowSec.php" class="js-link">click me</a> 
    
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
    <script> 
        $(document).on("click", ".js-link", function (e) { 
         e.preventDefault(); 
    
         $.post(this.href, function (response) { 
          alert("OK"); 
         }); 
        }); 
    </script> 
    
    +1

    링크가'# '을 가리키기 때문에, 디폴트 행동은 무시할 만하다. – Barmar

    +0

    jQuery가 더 나은 옵션 인 것 같습니다.jQuery 예제를 제공 할 수 있습니까? – iNoob

    +0

    도움을 주신 모든 분들께서 jQuery를 솔루션으로 살펴 보겠습니다. – iNoob