我知道,如果为表单分配了ID,则可以将表单值作为参数嵌入到URL中。但是,如果没有ID怎么办?
例如,此页面中的“搜索”字段:
http://au.autodesk.com/speaker-resource-center/call-for-proposals/voting
<input type="text" placeholder="Search " class="form-control ng-valid ng-dirty search-box" ng-model="search.$" ng-change="updateButtons()">
答案 0 :(得分:0)
我知道,如果为表单分配了ID,则可以将表单值作为参数嵌入到URL中。
那是不正确的。
页面上的服务器端(有时是客户端)代码可以读取查询字符串,以设置表单控件的默认值(通常是这样,如果前一个表单中存在错误,则可以更正并重新提交表单)尝试)。
在这些情况下,name
属性通常将映射到查询字符串(因为该表单将从name属性生成查询字符串)。通常,输入将被赋予与其id
相同的name
。
它完全在网站作者的控制之下。
没有另一方提供允许您执行此操作的机制,就无法在另一站点上设置输入值。
答案 1 :(得分:-1)
有几种不同的方法可以做到这一点。查看该HTML,这是div中的第一个文本类型输入,因此想到的第一个方法是:
您可以拉出div(使用“搜索区域”类),然后定位该div中的第一个文本输入框。我不知道您使用的是jQuery还是本机JS,或者您使用的是哪种语言/库/框架。
JQuery类似于:
var inputElement = $(".search-area")[0].first()
这样的答案可能会有所帮助:
jQuery: how to find first visible input/select/textarea excluding buttons?
编辑添加:答案是针对输入元素。就像其他人提到的答案一样。您实际上无法使用URL做您想做的事情。
再次编辑。误解了问题。如果有人需要知道如何将没有ID的输入字段作为目标,我将在此处保留此内容。另外,如果有人要删除此答案,我也没有问题。