5
回答
关于JS的jQuery问题
开发十年,就只剩下这套Java开发体系了   

项目使用的jsp页面, 使用jQuery技术

如题所示,这是一个新增页面, 有些字段, 不能为空, 如果用户没有填写,就点击发送(保存)的话, 提示, [xxx] 不能为空.

在修改页面,同样有这样的提示.

于是, 我将提示的信息,放到一个.js文件里, 在 新增, 修改页面, 引用这个js文件.

<!-- +++++++add by zhou 20130905+++++++ -->
<script type="text/javascript" src="/defaultroot/boardroom/z.Check.js">
</script>
========================

js文件的内容如下:

昨天,是先实现功能, 没有优化(对象不存在呢???跨浏览器....)



举报
xuzhou2013
发帖于5年前 5回/224阅
共有5个答案 最后回答: 5年前

功能是实现了.

------------2个问题-----------------

#1. 自己定义了一个命名空间 YIWEI.   //YIWEI={}

但如果 这样写 var YIWEI={}, ie则提示: YIWEI对象不存在..

不知道为什么,, 打开jQuery的js文件, 好像也是这样定义 $的

#2. 上面的js, 根据页面传入的参数(id字符串),找到这个参数, 然后判断是否为空, 如果为空, 就根据这个参数,找到相应的提示, alert() 输出.

alert(eval("("+'YIWEI.checkform.tip.'+itemName+")"));

eval(),不想使用, 但是拼接字符串,然后执行, 不知道jQuery可有这方面的功能.

还是我上面的代码有问题, 可以换一种方式 实现???


-----------------请大家帮忙---------------------



第一个问题:我不太记得了,你试试window.YIWEI={}//这样定义试试,应该还是能直接用YIWEI访问的

第二个问题:你的代码几乎没怎么用到jQuery的功能

获取输入框对象:document.getElementById(itemname);

获取对应的弹出信息:YIWEI.checkform.tip[itemname];

JS的对象访问方式支持.和[]

不知道我说的对不对,好久不写JS了

#1. please try 
window.YIWEI = window.YIWEI || {};
#2.
window.YIWEI = window.YIWEI || {};

YIWEI.checkform = YIWEI.checkform || {};

YIWEI.checkform.tip = {
    "personNum":"...",........ // 你的定义
}

$('#form-submit-button-id').on('click', function(){
  var message = '';
  $('#form-id input[type=text]').each(function(){
    if ( !$(this).val() ) {
        message += YIWEI.checkform.tip[$(this).attr('id')] + "\r\n";
    }
  });
  if ( message ) {
    alert(message);
    return false;
  }
  return true;
});
大概是这么写的。
顶部