2009-12-16 2 views
1

나는 사람들이 제휴 링크를 사용하여 액세스하는 HTML 페이지를 가지고 있으므로 url (http://www.site.com?cmpid=1234&aid=123)에 제휴 코드가 있습니다. 나는 폼 액션 URL에 cmpid와 aid를 추가하려고합니다 (제출할 때 /form.aspx url에 제출하지만 끝으로 cmpid와 aid를 추가합니다 : form.aspx? cmpid = 1234 & aid = 123).URL 매개 변수 가져 오기 및 자바 스크립트로 양식 동작 URL 삽입

나는 자바 스크립트 외에 다른 옵션이 없습니다. 나는이 페이지를 php 또는 aspx로 만들 수 없다.

+0

는 http://stackoverflow.com/questions/827368/use-the-get-paramater-of-the-url-in-javascript를 참조 – Sampson

+0

나는이 폐쇄해야한다고 생각하지 않습니다. 연결된 질문에서 쿼리 문자열을 가져 오는 방법을 보여 주지만 '

'작업에 추가하는 방법은 보여주지 않습니다. –

답변

1
window.onload = function() { 
    var frm = document.forms[0]; 
    frm.action = frm.action + location.search; 
} 
+0

감사합니다. Josh, 이것은 완벽하게 작동했습니다. – Kris

0

location.search으로 쿼리 문자열에 액세스 할 수 있습니다. 그럼 당신이 직접 양식의 작업에 다음과 같은 무언가를 추가 할 수 있어야한다 : 그건 그렇고

// Get a reference to the form however, such as document.getElementById 
var form = ...; 

// Get the query string, stripping off the question mark (not strictly necessary 
// as it gets added back on below but makes manipulation much easier) 
var query = location.search.substring(1); 

// Highly recommended that you validate parameters for sanity before blindly appending 

// Now append them 
var existingAction = form.getAttribute("action"); 
form.setAttribute("action", existingAction + '?' + query); 

를, 내가 직접 양식의 작업의 쿼리 문자열을 수정하면 될 수 있다는 것을 발견했습니다 히트 앤 miss - 나는 특히 당신이 결과를 게시한다면 IE는 어떤 쿼리를 없애 버릴 것이라고 생각한다. (이것은 얼마 전이었고 정확히 을 기억할 수는 없지만 좋은 아이디어는 아닙니다.).

따라서 은 숨겨진 입력 인 <form>의 하위 요소를 동적으로 생성하여 쿼리에서 원하는 이름 - 값 쌍을 인코딩하려는 경우이 작업을 수행하려고합니다.