JonesZon 2021-08-06 17:24 采纳率: 100%
浏览 87
已结题

js 希望重复调用button事件问题

一、背景:查询一系列指定数据(如:降水、温度、风力等)可否在网站被检索到。传统方法需要基于需求(文本字段),复制字段,点击查询按钮,再复制,再点击,直至结束。

img

网站地址为:
http://data.cma.cn/ http://data.cma.cn/

二、需求:自动替换搜索框内容,循环执行查询事件。

三、问题:搜索框内容(即value值)可实现赋值,但button点击事件只能执行一次,for 循环 “查询事件” 无法实现。
为什么会这样,请教各位,该如何修正呢?

img

以下是我的代码


let arr2=[
    "中ff值数",
    "sdaddsd基本",
]
let button = document.getElementById("aa"); //aa是开发者模式自定义的
function search(val){
    //依据搜索框id,确定DOM
    let obj= document.getElementById("uSearch") 
    // 搜索框内容赋值
    obj.value=val; 
    // 依据按钮id,确定DOM。注:此处id是自定义。
    button.click();
}

for(var i = 0; i < arr.length; i++) {
    (function(i) {
        setTimeout(function() {
            // console.log(arr2[i]);
            search(arr2[i])
        }, (i + 1) * 1000);
    })(i)
}
  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2021-08-06 17:49
    关注

    setTimeout异步点击按钮新窗口打开实际算自动弹出,理论上第一个应该也拦截掉才对。。后续的被浏览器拦截了。

    题主想要做什么操作,可以具体说下,就替换关键字弹窗查询这样被浏览器拦截掉了没搞头。如果要获取内容可以用隐藏iframe来加载内容

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月15日
  • 已采纳回答 8月7日
  • 修改了问题 8月7日
  • 创建了问题 8月6日

悬赏问题

  • ¥15 netty整合springboot之后自动重连失效
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击