如何在HTML表单中添加查询字符串实现谷歌图片搜索?
解决谷歌图片搜索表单参数缺失问题
你的问题出在表单action的写法和参数传递方式上,以下两种方案都能解决:
方案一:使用隐藏输入字段(推荐)
把固定的tbm=isch参数放在隐藏input标签里,表单提交时会自动带上这个参数,不会被覆盖。修改后的代码:
<form action="https://www.google.com/search"> <input style="border-radius: 10px;" type="text" name="q"> <input type="hidden" name="tbm" value="isch"> <input type="submit" value="Google Image Search"> </form>
方案二:修正action的URL写法
去掉action里多余的&q=,让表单自动把用户输入的q参数追加到URL后面,tbm=isch就能稳定保留在最终请求地址里:
<form action="https://www.google.com/search?tbm=isch"> <input style="border-radius: 10px;" type="text" name="q"> <input type="submit" value="Google Image Search"> </form>
原代码失效原因
你之前在action里写了https://www.google.com/search?tbm=isch&q=,表单提交时浏览器检测到存在name为q的输入框,会自动生成q=用户输入内容的参数,同时替换掉action中已有的q=部分。虽然理论上tbm=isch应该保留,但部分浏览器或谷歌服务器的处理逻辑可能导致该参数丢失,上述两种方案都能规避这个问题。
内容的提问来源于stack exchange,提问作者Rivered
相关产品推荐
相关产品推荐

