2015-01-16 178 views
1

我有一個Google文檔電子表格,希望客戶能夠以迂迴的方式進行查詢。從本質上講,這裏是我的試算工作查找:有沒有辦法將變量傳遞給HTML表單提交中的URL?

https://docs.google.com/spreadsheets/d/1nCp5h0bMr3bnjU7OslbwjMyT-qc5-mt10IEjM7izSmg/gviz/tq?tqx=out:html&tq=select+A,+B,+C,+D,+E,+F,+G,+H+WHERE+D+CONTAINS%20985253

我想要做的是建立一個表格,這個數字在連接(985253)的到底是用戶輸入什麼,一旦他們點擊提交,它將該號碼附加到URL的末尾並拉起頁面。

我看到一個關於在我跟蹤的URL末尾標記輸入的教程,但是我遇到的問題是編碼將鏈接改變爲不起作用的地方。

這是我的嘗試:

<form action="https://docs.google.com/spreadsheets/d/1nCp5h0bMr3bnjU7OslbwjMyT-qc5-mt10IEjM7izSmg/gviz/tq" method="GET"> 

<input type="text" name="tqx=out:html&tq=select A, B, C, D, E, F, G,H WHERE D CONTAINS "/><br/> 

<input type="submit" value="Submit"/> 

</form> 

它產生:

https://docs.google.com/spreadsheets/d/1nCp5h0bMr3bnjU7OslbwjMyT-qc5-mt10IEjM7izSmg/gviz/tq?tqx%3Dout%3Ahtml%26tq%3Dselect+A%2C+B%2C+C%2C+D%2C+E%2C+F%2C+G%2CH+WHERE+D+CONTAINS+=

它編碼的 「」, 「=」 和 「&」,在這裏我不知道如何將它們傳遞給最終的URL查找而不用對它們進行編碼。

這可能是一種更簡單的方法,我沒有考慮過。請幫忙!

回答

0

你只需要打破它是這樣的:

<form action="https://docs.google.com/spreadsheets/d/1nCp5h0bMr3bnjU7OslbwjMyT-qc5-mt10IEjM7izSmg/gviz/tq" method="GET"> 

<input type="hidden" name="tqx" value="out:html"/> 
<input id="tq" type="hidden" name="tq" value="select A, B, C, D, E, F, G,H WHERE D CONTAINS "/> 
<input id="query" type="text"/> 

<input type="submit" value="Submit"/> 

</form> 

你真的不能避免網址轉義的「」,但服務器不會有任何麻煩它反向轉義。

要將數字附加到tq值,您需要使用一點javascript。爲了簡單起見,我將使用jQuery:

$(function() { 
    $('form').on('submit', function() { 
     $('#tq').val($('#tq').val() + $('#query').val()); 
    }); 
}); 
+0

完美的工作。非常感謝!! –

+0

因此某處更新了某些內容,上述解決方案不再有效。現在可接受的查詢會在指定的列下拉出電子表格中的所有內容。我找不到會導致這種情況發生的Google搜索參數更改,如果有人有任何想法,我很好奇嗎? –

+0

到目前爲止,看起來發生在Drive接管Google文檔並將其從spreadsheets.google.com程序轉到docs.google.com時失敗了,並且無法通過gviz正確訪問JSON數據。仍在尋找解決方法。 –

相關問題