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에서 요청 매개 변수를 가져올 수 있습니까?
매우 장황한 것에 대해 사과드립니다. 가능한 한 명확한 질문을하고 싶습니다.
좋아요, 대화 상자를 만드는 코드는 다른 함수 안에 있습니다. 이 함수의 매개 변수 중 하나는 onComplete라는 콜백입니다. 그래서 이것을 내가 부를 때,'addModalForm (600, 200, "SomeTitle", url, onThisRequestComplete);'my_affiliate_form.html은로드에서 하드 코딩되지 않고 url 대신 param을 사용합니다. 익명의 함수를 사용해야합니까, 아니면 여전히 그것을 할 수 있습니까? – sberry