2012-03-08 69 views
0

我有第三方web表單我想通過將值附加到url來預填充。這可能嗎?如果是這樣,我如何將值傳遞給textarea並選擇例如?通過URL填充web表單

我只是想用預填充字段轉發形式:

link_to_form?name-form-text=sometext&name-form-select=Oprion1 

textarea的例子:

<FORM NAME="name-form-text"> 
    <TEXTAREA NAME="name-text-area"WRAP></TEXTAREA> 
</FORM> 

選擇例如:

<FORM NAME="name-form-select"> 
<TABLE> 
<TR> 
<TD CLASS="name-class"> 
    <SELECT NAME="name-select"> 
     <OPTION>Option 1</OPTION> 
     <OPTION>Option 2</OPTION> 
     <OPTION>Option 3</OPTION> 
    </SELECT> 
</TD> 
</TR> 
</TABLE> 
</FORM> 

非常感謝。

+0

您可能希望通過解答閱讀並接受一個 – Tom 2013-07-01 17:28:52

回答

1

你可以用純javascript來做到這一點。

<script> 
function urlParams() { 
    var vars = {}; 
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
     vars[key] = value; 
    }); 
    return vars; 
} 
</script> 

現在使用函數urlParams()。例如,如果url是test.html?textarea=this is textarea value。使用下面一行來填充表單的textarea。

document.getElementsByName("name-text-area")[0].value=urlParams()["textarea"]; 

UPDATE然而有一個小小的問題。您在textarea中獲得的文本是urlencoded文本。在這種情況下,你會得到:「this%20is%20textarea%20value」所以你需要一個urldecode函數,這本不是在JavaScript中可用的。請使用以下的調整函數:

function decode(str) { 
    return unescape(str.replace(/\+/g, " ")); 
} 

而且通過替代先前的呼叫:

textareavalue = decode(urlParams()["textarea"]); 
document.getElementsByName("name-text-area")[0].value = textareavalue; 
0

您必須訪問您的參數並將其填入表格中。 這可以通過例如PHP或JavaScript來實現。

使用PHP,您可以通過$_GET['my_key']訪問GET參數值。 我不知道Javascript的詳細信息,但我想你需要解析window.location

nn PHP你可以用代碼中的變量填充你的默認值。 在Javascript中,您可能需要先訪問正確的元素。

請提供更多關於您可以使用除純HTML之外的哪些語言以獲得更好答案的信息。