Javascript 使用click()方法会创建一个无休止的循环
我想做的是让我在整个网站上的搜索输入在我已经构建的结果页面上显示搜索结果。这段代码可以工作,但它通过不断单击搜索创建了一个无止境的循环。有没有办法可以设置为只点击一次?还是在单击一次后结束函数 提前谢谢Javascript 使用click()方法会创建一个无休止的循环,javascript,Javascript,我想做的是让我在整个网站上的搜索输入在我已经构建的结果页面上显示搜索结果。这段代码可以工作,但它通过不断单击搜索创建了一个无止境的循环。有没有办法可以设置为只点击一次?还是在单击一次后结束函数 提前谢谢 function getParameter(paramName) { var searchString = window.location.search.substring(1), i, val, params = searchString.split("&");
function getParameter(paramName) {
var searchString = window.location.search.substring(1),
i, val, params = searchString.split("&");
for (i = 0; i < params.length; i++) {
val = params[i].split("=");
if (val[0] == paramName) {
return val[1];
}
}
return null;
}
var firstRun = true;
var search = getParameter("TextBox1");
if (search != "") {
var clickSubmit = setTimeout(function() {
if (firstRun) {
document.getElementsByName("TextBox1")[1].value=search;
document.getElementsByName("btnSearch")[1].click();
clearTimeout("firstRun");
}
}, 500);
};
document.writeln('<table style="background-color: #002e58; float: right; margin-right: 140px;"><tr><td><form name="Form1" method="get" action="../zsearch.aspx" id="Form1"><tr><td style="width: 12%; font-size: small;"></td><td><input name="TextBox1" type="text" id="TextBox1" style="width: 233px; padding=" /><input type="submit" name="btnSearch" value="Search" id="btnSearch" style="font-family: Arial; font-size: 12;"/></td><td> </td></tr><tr></tr></form></table>');
函数getParameter(paramName){
var searchString=window.location.search.substring(1),
i、 val,params=searchString.split(&);
对于(i=0;i
我相信您希望firstRun
是您的超时ID,但在上面发布的示例中,它实际上是单击submit
试试这个
var timeoutId = setTimeout(function() {
if (timeoutId) {
document.getElementsByName("TextBox1")[1].value=search;
document.getElementsByName("btnSearch")[1].click();
}
},500);
由于输入数据是永久性的,所以会出现无休止的循环。每个html页面加载
firstRun
设置为true
,然后通过触发单击事件脚本提交表单,然后使用相同的查询参数再次加载html页面,依此类推
如果出现以下情况,您可能会中断此循环:
谢谢你的帮助,这个选项仍然会导致无休止的点击搜索按钮的循环。哈哈,很棒的Igor。那没有意义@zachariah666你可以发布一个Plunkr,这样我们就可以看到这里缺少的上下文吗?这是一个合同,我不能发布Plunkr或任何类似的网站。它实际上只是一个用click()事件调用的标准表单。但我无法让它停止点击。嗯。。。你应该能够发布你的问题的匿名版本。。。否则我们只是猜测。如果你发布更多的东西,很高兴看一看。