我试图了解如何在URL中使用查询字符串,并试图提供一些快捷方式来简化我的工作。根据我一直在这里阅读的内容,有一些方法可以使用查询参数对网站进行预编程。我去了我感兴趣的网站,并拉了我想预先填写的“搜索表单”部分(这是一个数据库搜索,我想有一个直接链接,它只是预先填充并只显示结果而不是每次寻找新数据时都由我填写)。
这来自网站的“检查来源”。部分:
<form id="partInquiry" name="partInquiry" action="PartInquiryForEdit.htm" method="post">
<table style="width: 40%">
<tr>
<td colspan="2" align="left"></td>
</tr>
<tr class="ez1">
<td class="label">Search By:
</td>
<td class="input"><select id="searchby" name="search">
<option value="part_number">Part Number</option><option value="part_description">Part Description</option><option value="rdo_gpl">RDO/GPL</option><option value="rdo_productCd">RDO/Product Code</option>
</select></td>
</tr>
<tr class="ez1">
<td class="label">Match By:
</td>
<td class="input"><select id="matchby" name="match">
<option value="matches">Exactly Matches</option><option value="contains">Contains</option><option value="startsWith">Starts With</option><option value="endsWith">Ends With</option>
</select></td>
</tr>
<tr class="ez1">
<td class="label">Search For:
</td>
<td class="input"><input id="searchfor" name="searchString" type="text" value="" maxlength="750"/> </td>
</tr>
<tr class="ez1">
<td colspan="2"><input type="submit" onclick="clearSession();"
value="Submit"
class="Button" /> <input type="submit"
value="Cancel"
class="Button" /></td>
</tr>
</table>
<BR>
<BR>
<table>
<tr>
<td><label class="errorBox" id="errorBox"></label>
<table>
<tr>
<td></td>
</tr>
</table>
<table>
<tr>
<td></td>
</tr>
</table> <input type="hidden" id="rowsToAdd" name="rowsToAdd" /> <input
type="hidden" id="rowsToRemove" name="rowsToRemove" /> <input
type="hidden" id="rowsToSubmit" name="rowsToSubmit" /> <input
type="hidden" id="isExport" name="isExport" />
<table>
<tr>
<td></td>
</tr>
</table> </td>
<td></td>
</tr>
</table>
<BR>
<BR>
</form>
我尝试以下操作均无济于事,我不知道该怎么做:
?search=part_description&searchby=part_description&matchby=contains&match=contains&searchfor=MYSEARCHSTRING&searchString=MYSEARCHSTRING&Submit
?search=part_description&match=matches&searchString=MYSEARCHSTRING&Submit&submit
?searchby=part_description&matchby=matches&searchfor=MYSEARCHSTRING
我不确定我是否了解如何执行此操作,或者不确定代码中是否存在禁用该功能的方法(以及如何找到它?)。如图所示,我尝试使用“名称”,但一无所获,我也尝试使用“ id”,但都不高。我也不知道如何实际“提交”搜索,因为“提交”按钮没有ID或名称。只有一个“ onclick”和一个“值”。
答案 0 :(得分:1)
通过查询字符串预填充表单是网站必须明确支持的内容,这不是一般功能。必须对网站进行编码,以接受查询字符串上的值,然后返回适当的HTML来预先选择这些值。
如果该网站不支持此功能,那么您可以选择创建一个bookmarklet来填充所需的字段。例如:
javascript:var id=document.getElementById.bind(document);id('searchby').value='part_description';id('matchby').value='matches';id('searchfor')='MYSEARCHSTRING';void 0;
加载网站后,您可以单击书签以预先填写表格。