2009-10-05 5 views
0

별도의 챕터 사이트가있는 조직의 웹 사이트를 관리합니다. 각 장이 연결되는 기본 웹 사이트에 회원 가입 양식이 있습니다. 양식에 참여하려는 챕터를 선택할 수있는 드롭 다운 상자가 있습니다. 제가하고 싶은 것은 각 장의 웹 사이트가 드롭 다운 상자에서 장을 미리 선택할 양식에 대한 특정 링크를 사용하도록하는 것입니다.html 양식 필드 사전 채우기 쿼리 문자열

웹을 검색 한 후 쿼리 문자열을 사용하기 위해 Javascript 함수를 사용해야 할 필요가 있음을 발견했습니다. 검색 할 때마다 정확한 코드를 찾아 낼 수 없습니다. 이 페이지는 기본 HTML 페이지입니다 ... PHP가없고 리눅스 서버에서 호스팅됩니다.

도움을 주시면 감사하겠습니다.

답변

0

이 같은 URL을 포맷하면 :

www.myorg.com?chapter=1

당신은 당신의 HTML 헤드에이 스크립트를 추가 할 수

:

function getparam(name) { 
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regexS = "[\\?&]" + name + "=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if (results == null) 
     return ""; 
    else 
     return results[1]; 
} 

function loadform() 
{ 

    var list = document.getElementById("mychapterdropdown"); 
    var chapter = getparam("chapter"); 
    if (chapter>=0 && chapter < list.options.length) 
    { 
    list.selectedIndex = chapter; 
    } 
} 

당신의 HTML에 body 태그 :

<body onload="loadform();" > 

유효성 검사를 추가 할 수는 있지만 일반적 아이디어입니다.

0

GET 또는 POST 요청을 찾고있는 것처럼 들립니다. 예를 들어 사용자가 양식에서 "챕터 A"를 선택하고 선택을 누르는 경우 다른 사이트의 리디렉션 (예 : http://www.yoursite.com/form.html?chapter=A)을 허용하여 챕터 A를 미리 선택할 수 있습니다. 자바 스크립트에서 이것은

var chapter=""; 
var queryString = location.search.substring(1); 
if (queryString.length > 0) { 
    var getdata = queryString.split("&"); 
    var keyvalues; 
    for(var i=0; i < getdata.length; i++){ 
    keyvalues = getdata.split("="); 
    } 
} else { 
    chapter = "Not Found"; 
} 

document.getElementById("ChapterID").value = keyvalues['chapter']; 

에 의해 수행됩니다. 이것은 테스트되지 않았으므로 나를 붙들어 두지 마십시오. :)

+0

사용자는 국가 (주) 웹 사이트로 연결되는 개별 웹 사이트의 링크를 클릭하게됩니다. 챕터는 자체 사이트를 관리하기 때문에 서로 다른 호스트가 있으며 관리하지 않습니다. 그래서 우리가 원하는 것은 form.html? chapter = A와 같은 특별한 링크입니다. 코드는 내가 본 다른 사람과 비슷하지만 몇 가지 질문이 있습니다. 1. "var chapter"- 필드 'ID'의 이름으로되어있는 'chapter'입니까? 2. "chapter ="찾을 수 없음 ""- 기본 옵션의 이름으로 바뀌어야합니까? – Stephen

+0

3. "document.getElementById ("ChapterID "). value = keyvalues ​​[ '장'];" - 챕터 ID를 실제 ID 이름으로 대체해야합니까? 또한, keyvalues ​​[ 'chapter'] 무엇을 'chapter'로 변경해야합니까? – Stephen

0

당신은 아마 동적 아약스 콘텐츠를 사용해야합니다. 다음 javascript을 사용하여 쿼리 문자열을 읽은 다음이 javascript을 사용하여 해당 div에 html 파일을로드합니다.