【发布时间】:2013-12-22 13:42:59
【问题描述】:
【问题讨论】:
标签: javascript web vbscript autofill
【问题讨论】:
标签: javascript web vbscript autofill
要用零填充数独网格http://show.websudoku.com 的空白处,这里有一些 JavaScript 可以做到这一点。它被格式化为用作“书签”:
javascript:(function(){var x,k,f,j,r;x=document.forms;for(k=0;k<x.length;++k){f=x[k];for(j=0;j<f.length;++j){r=(f[j].className.toLowerCase()+f[j].type.toLowerCase()+f[j].value);if(r=="d0text"){f[j].value="0";}else if(r=="d0text0"){f[j].value="";}}}})();
设置:
要使用小书签:
数独网格中的所有空格都将用 0 填充。再次单击新收藏夹(书签),0 将被删除,再次留下空白。
这是 Javascript 代码扩展后的样子,带有缩进:
javascript:(function(){
var x,k,f,j,r;
x=document.forms;
for(k=0;k<x.length;++k){
f=x[k];
for(j=0;j<f.length;++j){
r=(f[j].className.toLowerCase()+f[j].type.toLowerCase()+f[j].value);
if(r=="d0text"){
f[j].value="0";
}
else if(r=="d0text0"){
f[j].value="";
}
}
}
}
)();
* 剧透警告 *
如果你想“作弊”,这里的 JavaScript 将“解决”数独:
javascript:(function(){var x,k,f,j,ecl,etl,en,ev,s,e,c,d,dl,dr,n;x=document.forms;for(k=0;k<x.length;++k){f=x[k];for(j=0;j<f.length;++j){e=f[j];r=(e.name.toLowerCase());if(r=="cheat"){c=e.value;break;}}for(j=0;j<f.length;++j){e=f[j];ecl=e.className.toLowerCase();etl=e.type.toLowerCase();en=e.name;ev=e.value;if(etl=="text"){if(ecl=="d0"){dr=en.substr(en.length-1,1);dl=en.substr(en.length-2,1);d=(((Number(dr)-1)*9)+Number(dl))-1;n=c.substr(d,1);if(ev.length==0){e.value=n;}else{e.value="";}}}}}})();
设置和使用同上。
虽然这样解决它并不是很有趣(好吧,也许前几次有点有趣),而且绝对没有挑战性,如果你真的很着急,你可以在 1点击。
注意:我只用 IE9 测试了这 2 个小书签。
【讨论】: