2010-02-12 4 views
0

jQueryUI dialog을 사용하여 내 사이트에서 모달 양식을 엽니 다. 양식은 쿼리 문자열에 전달되는 제휴 코드를 통과 I 쉽게 GET 값을 잡는 만들기 위해 jQuery plugin을 사용하고jQuery : 자바 스크립트의 아약스 요청에서 요청 (GET/POST) 매개 변수 가져 오기

http://mydomain.com/page2_with_form?affiliate=Chuck%20Berry

http://mydomain.com/page1_with_form?affiliate=Chuck%20Norris

등에 숨겨진 입력을 가지고있다.

두 페이지 (page1_with_form 및 page2_with_form)는 모두 같은 모달 형식 my_affiliate_form.html을 대화 상자에로드합니다. 나는 my_affiliate_form.html 페이지

var affiliate_code = $.query.get('affiliate'); 
if (!affiliate_code) affiliate_code = "None"; 
$('[name=hidden_affiliate_field]').val(affiliate_code); 

이 그냥 멋쟁이 작동하고, 내 제휴 척 노리스 척 베리되는 끝에서이 같은 문제하고 뭔가가 없다.

문제는 이제 쿼리 문자열의 제휴 코드를 포함 할뿐만 아니라 폼을로드 한 페이지를 나타내는 키를 사용하려고합니다. page1_with_form 및 page2_with_form). page1의 경우 키가 '공개'이고 page2의 경우 키가 '비공개'이거나 이와 비슷한 것일 수 있습니다. 내 숨겨진 필드가 http://mydomain.com/page2_with_form?affiliate=Chuck%20Norris

내가 좋아하는 대화 내용을로드하고이 페이지를 타격 할 때이 페이지 http://mydomain.com/page1_with_form?affiliate=Chuck%20Norris 및 "개인 척 노리스를"타격 할 때 "공공 척 노리스"의 값이

지금은 원하는 이 :

$('#modal-form-holder').dialog({ 
      bgiframe:true, 
      width:width, 
      title: title, 
      modal:true, 
      resizable: false, 
      closeOnEscape: true, 
      draggable: false, 
      autoOpen:false 
}).load("my_affiliate_form.html?affiliate_key=" + key, null, onComplete); 

키의 값이 올바르게 채워지고 있지만, my_affiliate_form.html은 $ .query.get를 통해 "affiliate_key을"잡아하려고하면 ('affiliate_key')가 비어 있습니다. 이것은 변경되지 않은 window.location을 검사 할 때 쿼리 플러그인 때문입니다.

ajax 요청과 함께 my_affiliate_form.html에서 요청 매개 변수를 가져올 수 있습니까?

매우 장황한 것에 대해 사과드립니다. 가능한 한 명확한 질문을하고 싶습니다.

답변

0

onComplete 처리기의 값을 설정하십시오. 키와 affiliate_key 필드를 채우기 (전 4 개 매개 변수를 정의해야한다)의 onComplete에서 다음

$('#modal-form-holder').dialog({ 
      bgiframe:true, 
      width:width, 
      title: title, 
      modal:true, 
      resizable: false, 
      closeOnEscape: true, 
      draggable: false, 
      autoOpen:false 
}).load("my_affiliate_form.html", null, function(responseText, textStatus, XMLHttpRequest) 
{ 
    onComplete(responseText, textStatus, XMLHttpRequest, key); 
}); 

:처럼 뭔가.

+0

좋아요, 대화 상자를 만드는 코드는 다른 함수 안에 있습니다. 이 함수의 매개 변수 중 하나는 onComplete라는 콜백입니다. 그래서 이것을 내가 부를 때,'addModalForm (600, 200, "SomeTitle", url, onThisRequestComplete);'my_affiliate_form.html은로드에서 하드 코딩되지 않고 url 대신 param을 사용합니다. 익명의 함수를 사용해야합니까, 아니면 여전히 그것을 할 수 있습니까? – sberry

관련 문제