此脚本是匹配1到10的整数,现在想改一下,
首先匹配由七个字符组成的字符串(前两个是MM,后五个是数字,如:MM00001),
若匹配成功,则输出后面的数字,设为p(即,如是MM00001,则1;如是MM00111,则是111),转到页面browse.php?ID=p;
若匹配不成功,看是否匹配整数(1,10)
若匹配,则转到页面browse.php?ID=
若不成功,打出 can not do <SCRIPT>
function doit(fm){
var n = document.getElementById("MMID").value;
if(isNaN(n)){alert("can not do"); return false;}
n = parseInt(n,10);
if(n>10) {alert("can not do"); return false;}
fm.action = "browse.php?ID=" + n;
fm.submit();
}
</SCRIPT>
首先匹配由七个字符组成的字符串(前两个是MM,后五个是数字,如:MM00001),
若匹配成功,则输出后面的数字,设为p(即,如是MM00001,则1;如是MM00111,则是111),转到页面browse.php?ID=p;
若匹配不成功,看是否匹配整数(1,10)
若匹配,则转到页面browse.php?ID=
若不成功,打出 can not do <SCRIPT>
function doit(fm){
var n = document.getElementById("MMID").value;
if(isNaN(n)){alert("can not do"); return false;}
n = parseInt(n,10);
if(n>10) {alert("can not do"); return false;}
fm.action = "browse.php?ID=" + n;
fm.submit();
}
</SCRIPT>
解决方案 »
- 判断函数是否正确
- 【求解】如何用js解析字符串为XML格式?
- checkbox选择问题?大家帮忙解决!谢谢!
- 请教用过Antechinus JavaScript Editor 9的大侠们有关debug功能的问题!
- 问个javascript的Math.floor
- 为什么我的日历<script language="javascript" src=../script/rili.js></script>引用后,没有反应,必须<script language="JavaScript">这
- 为什么翻页没有效果,求指导
- 在Frameset中,如何通过Onclick事件来获取所点击的文本的值以及它的链接地址...
- 小问题!!大讲究!!??(向大虾求助,不是大虾的看了也白看:>)
- 得到一个对象,如何知道它的类型,(比如是radio还是textfield)
- <a href>中用到submit的问题
- 求助:如何在网页上实现选择路径
<script type="text/javascript">
<!--
function doIt(){
var pass = "MM00001";
var reg = /^MM(\d{5})$/;
if(reg.test(pass)){
alert(parseInt(RegExp.$1, 10));
// 转
}else if(/^([1-9]|10)$/.test(pass)){
alert(pass);
// 转
}else {
alert('no');
}
}
doIt();
//-->
</script>
我输入1,网址显示browse.php?ID=1,得到想要的结果
输入MM00001,网址也显示browse.php?ID=1,但是结果不正确
function doit(fm){
var m;
var n = document.getElementById("ID").value;
var reg = /^MM(\d{5})$/;
if(reg.test(n)){
m = parseInt(RegExp.$1, 10);
}else if(/^([1-9]|10)$/.test(n)){
m = n;
}else {
alert('no');
}
fm.action = "browse.php?ID=" + m;
}
不是如果文本时MM00001就变成1?<input type="text" id="ID" value="MM00001"/>
<script type="text/javascript">
<!--
function doit(fm){
var m;
var n = document.getElementById("ID").value; var reg = /^MM(\d{5})$/;
if(reg.test(n)){
m = parseInt(RegExp.$1, 10);
}else if(/^([1-9]|10)$/.test(n)){
m = n;
}else {
alert('no');
}
alert(m)
//fm.action = "browse.php?ID=" + m;
} doit();
//-->
</script>
没问题呀
代码是没有问题,结果(网址)也没问题,就是最后显示(网页)的内容有问题
输入1,网址显示browse.php?ID=1,得到想要的结果
输入MM00001,网址也显示browse.php?ID=1,但是结果不正确
顺便再说一哈,这段代码使用在模板里的,
在有个贴吧搜到个答案《《因为有的位置是用模板做的,子页面的连接显示设置成他网站的连接,所以你看到的网址是一样的,其实是不同的页面》》
我也看不懂,就把某页脱离模板,但还是不行,郁闷了好几天了,马上就要用了,望指点,小弟再次谢过了!
之前加个赋值document.getElementById("ID").value = m;
fm.action = "browse.php?ID=" + m;试试看^_^
所以导致你取出的数据不正确