几个小问题,,相问,,,

urchinjj 2002-04-19 09:14:28
1,我想在页面提交前判断text里是不是非空,代码如下:
function checkresult() {

with (document.form1){
if(trim(code.value)=="" ||
trim(keywords.value)==""||
trim(datacapacity.value)==""||
trim(storageformat.value)==""||
trim(medium.value)==""||
trim(site.value)==""||
trim(language.value)==""||
trim(starttime.value)==""||
trim(endtime.value)=="" ||
trim(minlongitude.value)=="" ||
trim(maxlongitude.value)==""||
trim(minlatitude.value)==""||
trim(maxlatitude.value)==""||
trim(minheight.value)==""||
trim(maxheight.value)==""||
trim(gainmode.value)==""||
trim(content.value)==""||
trim(source.value)==""||
trim(quality.value)==""||
trim(metadataauthorinfo.value)==""||
trim(dtauthorinfo.value)==""

) {

alert("请填写必添项");
return false;
}
else return true;

}
}
可是trim不好用,是怎么回事?而且出现一个问题就是第一次和第二次输入的数据
如果一样,提交的时候总是出现提示:请填写必添项,事实是都添好了,

2,我想判断一个text是不是整数或者浮点数,代码如下:
function checknumber(startt)
{

if(isNaN(parseInt(startt.value)))
{ alert("数据类型错误");
startt.focus();
startt.select(); }
}

可是我知道这样会造成如果输入:123abc也会是合法的,请问怎么解决这个问题?isNumber不好用啊??

谢谢各位,,,帮帮俺~~~~~~~~~
...全文
33 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
urchinjj 2002-04-19
  • 打赏
  • 举报
回复
to stupidball(小菜鸟)

谢谢小菜鸟:)可是俺看书上的例子有一个是:isNumber啊?不可以吗?哎

to Andrawu(Andrawu)
if(inputStr==null || inputStr=="")这句俺也用了,可是这只能判断不是
或者一个空格的情况啊?要是两个以上空格就通过了:(

to Times2001(回车)

什么是js啊?俺是刚学的,什么不懂啊:(指教~~~~~现在我做的javascript就是
在客户端运行的啊,不是吗?


还有,大家告诉我,为什么我的判断为空的条件在实际执行时,有时候会认为输入
不正确?总是提示:请输入必添项???俺都添了, 只是发先一个情况,就是在添
数据的时候,会在text下出现类似下拉框的那种情况,显示以前输入的数据,如果
是添新的数据没问题,如果是下面显示的数据,而不是选上的,就会报错,,告诉俺怎么处理啊??:(

Times2001 2002-04-19
  • 打赏
  • 举报
回复
其实简单的不涉及程序数据库操作的验证工作完全可以用js来作
这样速度要会的多,减少了服务器的工作量,又节省了请求响应的时间
Andrawu 2002-04-19
  • 打赏
  • 举报
回复
试试下面几个function。

//检测是否是为空
function isEmpty(inputStr)
{
if(inputStr==null || inputStr==""){
return true
}
return false
}

//检测是否是符合条件的整数
//inputStr 输入的字符串
//fl 整数数长度
//description 文本框描述
function isInt(inputVal, fl, description) {
var iNumber;
if (inputVal.length > 0) {
iNumber = Number(inputVal);
if (isNaN(iNumber) || String(iNumber).indexOf(".") >= 0) {
alert("请在"+description+"中输入正确的整数!");
return false;
} if (String(iNumber).length > fl) {
alert("在"+description+"中值太大!整数为"+fl+"位.");
return false;
}
}
return true;
}

//检测是否是为有效浮点型
//inputStr 输入的字符串
//fl 浮点数长度
//fp 浮点数小数长度
//description 文本框描述
function isFloat(inputStr, fl, fp, description) {
var iNumber;
if (inputStr.length > 0) {
iNumber = Number(inputStr);
if (isNaN(iNumber)) {
alert("在"+description+"中必须填有效数字!");
return false;
}
iNumber = iNumber < 0? -iNumber: iNumber;
inputStr = String(iNumber);
var pp = inputStr.indexOf(".");
pp = (pp < 0)? inputStr.length: pp;
if (pp > (fl - fp)) {
alert("在"+description+"中值太大!整数位为"+(fl-fp)+"位.");
return false;
}
if (pp > 0 && (inputStr.length - pp - 1) > fp) {
alert("在"+description+"中精度太大!小数位为"+fp+"位.");
return false;
}
}
return true;
}
stupidball 2002-04-19
  • 打赏
  • 举报
回复
function myNumber(field){
var fieldvalue = field.value;
var charcode;
for(var i=0; i<fieldvalue.length; i++){
charcode = fieldvalue.charCodeAt(i);
if((charcode < 48 || charcode > 57) && fieldvalue.charAt(i)!=".")
return false;
}
return true;
}
stupidball 2002-04-19
  • 打赏
  • 举报
回复
判断ASC码啊?
stupidball 2002-04-19
  • 打赏
  • 举报
回复
呵呵!在javascript中trim()是不好使的,你是在javascript中判断的吗?
stupidball 2002-04-19
  • 打赏
  • 举报
回复
你把为空判断的else去掉,直接写return true;试试!你是照着书上抄的?isNumber应该是自己定义,我不记得在javascript中有这个函数。
Times2001 2002-04-19
  • 打赏
  • 举报
回复
js就是JavaScript,它的文件扩展名时js

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧