放置在工具栏中时,不会捕获我的输入字段

问题描述 投票:0回答:1

我正在构建一个求职书签。它会占用您的关键字和位置,并打开多个搜索标签。

出于某种原因,通过Dice.com搜索的第一个链接不捕获输入字段,并且当所有字段都放入工具栏时无法工作。

最终版本将打开每个后续选项卡,每个选定的站点延迟1010ms。

我已完成大部分代码并且看起来很好,但是当我点击Dice的超链接时,没有任何反应。

拖放书签:

https://codepen.io/bookmarklets/pen/xeqJZb#

上面的Codepen会打开一个按钮,这是一个拖到书签栏中的书签。小书签代码在Codepen HTML窗口中可见。 Codepen CSS可以忽略,因为它只适用于这个方便的按钮,而不是实际的bookmarlet。

<div style="float:left"><table><tr><td style="border-right-style:solid;text-align:right"><b>Job Searcher</b> &nbsp;<br><input type="checkbox" onClick="toggle(this)"; checked><label for="all" id="all" name="all"> All </label><input type="submit"> &nbsp;</td><td style="border-right-style:solid;border-right-color:#555;border-right-width:1px"><form><input type="text" placeholder="Enter&nbsp;Job&nbsp;Title" name="jobTitle" id="jobTitle" /> &nbsp;&nbsp;<br><input type="text" placeholder="Enter&nbsp;Location" name="jobLocation" id="jobLocation" /> &nbsp;&nbsp;</td><td>  &nbsp; <img src="https://assets.dice.com/techpro/img/favicons/favicon-32x32.png" height="16" /> &nbsp;<input type="checkbox" checked name="dice" id="dice"> <a onClick="goDice()"; href="#"> Dice</a></td></tr></table>
function goDice(){
    var role = document.getElementById('jobTitle').value;
    var b = document.getElementById('site').value;
    var goToDice='https://www.dice.com/jobs?q='+ role +'&l=' + b;
    goToDice = goToDice.replace(/[ ]/g,'+');
    goToDice = goToDice.replace(/,/g,'%2C');
    window.open(goToDice);
}
javascript forms input toolbar
1个回答
0
投票

你的id在HTML和JS之间不匹配。

在JS中,你有:

var role = document.getElementById('jobTitle').value;
var b = document.getElementById('site').value;

同时,在HTML中你有:

id="jobTitle/"
id="jobLocation"

修复这些,Dice链接打开,并在新窗口中。

另外,最好不要在名称中使用/

热门问题
推荐问题
最新问题