2010-04-28 3 views
1

사용자가 양식을 제출할 때 쿠키를 설정하고 싶습니다.Jquery 쿠키 플러그인 - 사용자가 양식을 제출하면 쿠키를 설정합니다.

사용자가 체크 박스를 선택하여 쿠키를 설정하는 기존 코드를 사용하고 있지만 사용자가 양식을 제출할 때 단순히 쿠키를 설정하기를 원합니다. 여기

내가 확인란이 선택되었을 때, 어떤 작품이 무엇을 :

$().ready(function() 
{ 
    $('.application-form').submit(function(e) 
    { 
     e.preventDefault(); 

     if ($('.application-form input[name=marketing]').is(':checked')) 
     { 
      $.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 }); 
     } 
    }); 
}); 

이 잘 작동 아니라 단지 때의 "마케팅"입력을 검사 할 때 내가 쿠키 세트를 원하지 않는다 양식 제출. 예 :

$().ready(function() 
{ 
    $('.application-form').submit(function(e) 
    { 
     e.preventDefault(); 

     if ($('.application-form').submit();) 
     { 
      $.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 }); 
     } 
    }); 
}); 

그러나 이것은 쿠키를 성공적으로 설정하지 못했기 때문에 어떤 아이디어라도 좋습니다. 당신은 폼의 제출 이벤트 핸들러에이기 때문에

답변

5

if 조건에서 제출 값을 확인하지 않아도됩니다.

$().ready(function() 
{ 
    $('.application-form').submit(function(e) 
    { 
     e.preventDefault(); 

     $.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 }); 
    }); 
}); 
+0

고마워요,이 작품은,하지만 지금은 (위 참조)에 대해 생각하고있는 몇 가지 다른 문제를 강조 표시됩니다. – Dave

+0

@Dave - 그것이 당신을 위해 작동하는 것처럼 upvote면 감사하겠습니다. – Krunal

5
$(document).ready(function() { 
    $('.application-form').submit(function(e) { 
    e.preventDefault(); 
    $.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 }); 
    }); 
}); 

, 그것은 양식이 제출되었는지의 여부를 테스트하는 것 때문에, 거기 경우 조건을 필요로하지 않으며, 당신이 이미 가지고 있음을 알고 .

+0

위대한. 이렇게하면 쿠키가 성공적으로 설정되고 양식이 제출되지만 페이지가 다시로드되지 않으며 "감사합니다"페이지로 이동하지 않습니다. 반면 이전 방법을 사용하여 쿠키를 설정하면 이런 일이 발생합니다. 비록 쿠키가 쿠키를 설정하고, 데이터베이스에 제출하고, 이메일을 보냈지 만 페이지는 아무 것도하지 않는 것처럼 보입니다. 작동하지만 쿠키를 설정하는 .submit()에 연결되어있는 것처럼 보입니다. 양식 제출 게시물, 어떤 아이디어를 작동합니까? 고마워요. – Dave

+0

조금 혼란 스럽네요. 쿠키를 설정 한 후 양식을 "action"속성에 지정된 페이지에 정상적으로 제출 하시겠습니까? "e.preventDefault();"를 제거합니까? 어떤 차이가 있니? – GlenCrawford

+0

네, 맞습니다. 정상적으로 제출하고 싶습니다. "e.preventDefault();"제거 양식을 내가 원하는대로 행동하게하므로 많은 감사를드립니다. 죄송하지만 나는 이것이 레거시 코드라고 말했고 나는 "e.preventDefault();" 않습니다 - 그리고 나는 정말로 아닙니다 - 이름이 제안하는 것처럼 그것을합니까? 브라우저 기본 동작이 중지되는 것을 방지하려면 양식을 제출 하시겠습니까? 고맙습니다. – Dave

관련 문제