阅读:3541回复:8
谁能做这样一个脚本?[选中复选框]
只是我的一种需求:
就是当进入discuz论坛时,遇到“接收新回复邮件通知”这个复选框,把它默认设置为选中的。 因为现在的discuz论坛这个选项都是默认设置为未选中的,而且个人属性里也没有这一块儿的设置,所以想做一个脚本,能够实现进入这样的页面,能够自动选中这个复选框。 |
|
|
1楼#
发布于:2007-09-06 20:14
我不会js,但是我想应该是可以作到的,就是修改这里的checkbox 的属性为check,我也见过类似的脚本.不过脚本应用的地址就不好办了.毕竟有很多的discuz论坛啊.难道要每个论坛都指定?
|
|
|
2楼#
发布于:2007-09-06 20:14
-___- ,楼主又提出了个古怪的要求.
与其求助于他人,不如自己找几个例子学习一下,自己搞定. |
|
|
3楼#
发布于:2007-09-06 20:14
很容易,用GreaseMonkey
|
|
4楼#
发布于:2007-09-06 20:14
ZTree Forum - autocheck e-mail notification
http://userscripts.org/scripts/show/3031 找到这样一个脚本,离目标很近了 不过它只适用于ZTree论坛、 怎么修改让他能适用于 http://bbs.ioage.com/cn/forumdisplay.php?fid=8 代码看不懂哦~~ 这是猴子的脚本代码 # // ==UserScript== # // @name ZTree Forum - autocheck e-mail notification # // @namespace http://2of4.net/mozilla/greasemonkey/userscripts/ztw3.com/checkbox/ # // @description Checks all the checkboxes in the forum (currently there is only one: 'Notify me of responses by e-mail') # // @include http://www.ztw3.com/forum/forum.cgi?read=* # // @include http://www.ztw3.com/forum/forum.cgi?review=* # // ==/UserScript== # # (function() { # var lstrXPath = "/html/body/form//input[@type='checkbox']"; # var lxmlSnapshot = document.evaluate( lstrXPath # , document # , null # , XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE # , null); # for (var lnumIndex = 0, lhtmlCheckbox; # lhtmlCheckbox = lxmlSnapshot.snapshotItem(lnumIndex); # lnumIndex++) { # lhtmlCheckbox.checked = true; # } # })(); [/url] |
|
|
5楼#
发布于:2007-09-06 20:14
|
|
6楼#
发布于:2007-09-06 20:14
十分感谢,还想继续深问一下
var node = document.getElementById("parseurloff"); var children = node.parentNode.getElementsByTagName("Input"); children[children.length-1].checked = true; 这个是什么思路?判断复选框数量,然后把最后一个选定? 谢谢 |
|
|
7楼#
发布于:2007-09-06 20:14
十分感谢,还想继续深问一下var node = document.getElementById("parseurloff"); var children = node.parentNode.getElementsByTagName("Input"); children[children.length-1].checked = true; 思路很简单,用javascript找到对应的input checkbox元素,将其checked属性设置为true。 于是,要找到一个元素最简单办法就是通过getElementById。用firebug来inspect,发现这个元素没有id属性,只有name。 我记得好像firefox不支持通过name找元素。 可巧,发现上面的input元素又有id。 于是开始绕圈子,用那个id找到节点对象,然后用节点对象找到它的爸爸节点对象,用爸爸节点对象把所有儿子节点对象全找出来,设定最后一个为true。 就是你要的那个。 不过,我的代码还有一个漏洞,就是如果你没有登录,就不会有那个快速回复textarea,也就找不到那个id,javascript 控制台就会报错。 这个影响不大。也许写成下面这样就好了。 没有做测试。
|
|
8楼#
发布于:2007-09-06 20:14
我这里没登陆没遇到报错啊~~
还是谢谢啦 以后多跟您学了~~ |
|
|