设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 2149|回复: 8

求助!有关js问题

[复制链接]

签到天数: 33 天

[LV.5]常住居民I

发表于 2020/3/26 14:46 | 显示全部楼层 |阅读模式 |Google Chrome 80.0.3987.149|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
  1. var Input = document.querySelector('#query-box-input');
  2. var BtnSubmit = document.querySelector('.btn-submit div');
  3. var ss1=Input;

  4. var ss2;

  5. console.log(ss1.value);
  6. BtnSubmit.addEventListener('click', function () {
  7.         console.log(ss1.value);
  8.         if(Input.value != '' && ss1.indexOf("BV") != 0) {
  9.                 ss2 = ss1.slice(2);
  10.                 window.location.search =  "BV=" + ss2.value;
  11.                 return;
  12.         }
  13.     else if (Input.value != '') {
  14.         window.location.search =  "BV=" + Input.value;
  15.     }
  16. });
复制代码



为何slice和indexOf会报错?求大佬解答或者给个正确版本(代码意思应该都能看懂吧)谢谢
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

 成长值: 30

签到天数: 4536 天

[LV.Master]伴坛终老

发表于 2020/3/26 20:53 | 显示全部楼层 |Google Chrome 80.0.3987.149|Windows 10

回帖奖励 +2 樱币

混个回帖奖励积分,,等楼下大佬
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 226 天

[LV.7]常住居民III

发表于 2020/3/27 08:16 | 显示全部楼层 |Google Chrome 80.0.3987.132|Windows 10
ss1的类型是一个document的node对象,indexOf和slice都是字符串对象类型的方法
直接执行肯定错。如果是为了查找ss1里面的html内容,需要写成ss1.innerHTML.indexOf()
[发帖际遇]: gal.exe 捡了钱没交公 威望 降了 3 . 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 33 天

[LV.5]常住居民I

 楼主| 发表于 2020/3/27 10:40 | 显示全部楼层 |Google Chrome 80.0.3987.149|Windows 10
gal.exe 发表于 2020/3/27 08:16
ss1的类型是一个document的node对象,indexOf和slice都是字符串对象类型的方法
直接执行肯定错。如果是为 ...

好的谢谢
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 33 天

[LV.5]常住居民I

 楼主| 发表于 2020/3/27 18:45 | 显示全部楼层 |Google Chrome 80.0.3987.149|Windows 10
本帖最后由 ytc233 于 2020/3/27 18:57 编辑
gal.exe 发表于 2020/3/27 08:16
ss1的类型是一个document的node对象,indexOf和slice都是字符串对象类型的方法
直接执行肯定错。如果是为 ...


那怎么将imput的内容转成字符串类型啊,直接加.value或者innerHTML好像赋值输出啥都没。。。

  1. var Input123 = document.querySelector('#query-box-input');
  2. var BtnSubmit = document.querySelector('.btn-submit div');
  3. var ss1=Input123.innerHTML;

  4. BtnSubmit.addEventListener('click', function () {
  5.         if(Input123.value != '' && ss1.indexOf("BV") != -1) {
  6.                 ss1 = ss1.slice(2);
  7.                                 console.log(ss1);
  8.                 window.location.search =  "BV=" + ss1;
  9.                 return;
  10.         }
  11.         if (Input123.value != '') {
  12.         window.location.search =  "BV=" + Input123.value;
  13.     }
  14. });
复制代码


大致就是要把圈的这个删掉咋搞(好像第一个if没进去???)
[发帖际遇]: ytc233 乐于助人,奖励 2 贡献. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 226 天

[LV.7]常住居民III

发表于 2020/3/28 08:46 | 显示全部楼层 |Google Chrome 80.0.3987.132|Windows 10
query-box-input是什么?没有具体页面 不知道要怎么做
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 33 天

[LV.5]常住居民I

 楼主| 发表于 2020/3/28 09:15 | 显示全部楼层 |Google Chrome 80.0.3987.149|Windows 10
gal.exe 发表于 2020/3/28 08:46
query-box-input是什么?没有具体页面 不知道要怎么做

就是一个文本框,然后按按钮把文本框内容转成url的参数
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 33 天

[LV.5]常住居民I

 楼主| 发表于 2020/3/28 14:27 | 显示全部楼层 |Google Chrome 80.0.3987.149|Windows 10
本帖最后由 ytc233 于 2020/3/28 14:30 编辑

设置了断点调试,发现第一个if判断被跳过了,好像indexOf返回的是-1 为啥啊??? 还有那个value是不是算字符串啊
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 33 天

[LV.5]常住居民I

 楼主| 发表于 2020/3/28 14:44 | 显示全部楼层 |Google Chrome 80.0.3987.149|Windows 10
终于搞明白了,谢谢啊(最后发现value是个字符串直接对Imput123.value进行操作就行了)
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/6/5 08:15 , Processed in 0.219019 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表