js Form.elements[i]的使用实例

时间:2021-08-04 05:56:49

function pdf(){
    //一个html里面可能存在多个form,所以document.form[0]指的是第一个form,document.form[1]返回就是第二个form,如果没有第二个form,则返回undefined
   //就相当于:document.getElementsByTagName(form)[0]

form = document.getElementsByTagName("form")[0];
    with (form) {
        var checked = 0;
        var checkedObj = null;
        for ( var i = 0; i < elements.length; i++) {// 历遍form下的每个元素,elements.length 就是form 元素的个数,
            if (elements[i].name == "checkBoxs") {////检查每个元素的name属性是不是 checkBoxs.
                if (elements[i].checked) {
                    checked++;
                    checkedObj = elements[i];
                }
            }
        }
    }
    if (checked == 1) {
        url = basePath + "/dtms/process/pdfEdit.do?flag_id=" + checkedObj.value;
        var w = screen.availWidth;
        var h = screen.availHeight;
        window .open(
                        url,
                        "win",
                        "fullscreen=0,toolbar=1,location=1,directories=1,status=0,menubar=0,scrollbars=1,resizable=1,width="
                                + w + ",height=" + h + ",top=0,left=0", false);

  /*打开一个新窗口

  Window.open()方法参数详解(http://www.cnblogs.com/sofiawang/articles/1544631.html):window.open('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no')   //该句写成一行代码
   参数解释:
      window.open 弹出新窗口的命令;
  'page.html' 弹出窗口的文件名;
  'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;
  height=100 窗口高度;
  width=400 窗口宽度;
  top=0 窗口距离屏幕上方的象素值;
  left=0 窗口距离屏幕左侧的象素值;
  toolbar=no 是否显示工具栏,yes为显示;
  menubar,scrollbars 表示菜单栏和滚动栏。
  resizable=no 是否允许改变窗口大小,yes为允许;
  location=no 是否显示地址栏,yes为允许;
  status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;

  */
    } else if (checked > 1) {
        alert("你只能选择一个选项!");
    } else {
        alert("你必须选择一个选项!");
    }
}

当中with的用法如下:

当你有一个对象的多个属性或者方法需要操作时,就可以使用with

比如
<body>
test
<script type="text/javascript">
var o=document.createElement("div");
with(o){
style.cursor="pointer";
style.zIndex="100";
innerHTML="aaaa";
}
document.body.appendChild(o);
</script>
</body>
上面的代码相当于

<body>
test
<script type="text/javascript">
var o=document.createElement("div");
o.style.cursor="pointer";
o.style.zIndex="100";
o.innerHTML="aaaa";
document.body.appendChild(o);
</script>
</body>

所以with 用于简化 代码 操作。

with的弊端:有轻微的性能损失,如果只是在顺序代码中调用了with几次,这种性能可以忽略不计。

  1. JavaScript的严格模式不支持with。

  2. 容易引起歧义。如果method4这个函数在obj5中不存在,不用with的话,JS直接崩溃,容易查错,但是用了with,有可能一个外部的名为method4就被调用了,可能引起错误蔓延。

  3. 如果有上面的问题的话,object名字很长,可以用下面的方法代替:

    var tempObj = obj1.obj2.obj3.obj4.obj5;

    temoObj.method1();

    temoObj.method2();

    temoObj.method3();

    temoObj.method4()

js Form.elements[i]的使用实例的更多相关文章

  1. 创建dynamics CRM client-side &lpar;十三&rpar; - 在HTML Web Resource中获取form elements &amp&semi; 获取外部js文件

    上一节我们讨论到创建HTML Web Resource. 但是纯HTML的页面不能满足我们的需求, 所以今天我们来做在HTML Web Resource中获取form elements Please ...

  2. form&period;elements&lbrack;i&rsqb;

    原生js操作form的一些方法,来看下面写的这个demo,这个demo是展示了一下form.eleemnts[i]的意义和用法: <!DOCTYPE html> <html lang ...

  3. 关于js函数,方法,对象实例的一些说明

    朋友们大家好,好久没有更新文章了,最近正好有空就想着写点什么吧,加上这段时间总是能听到一些朋友们问关于js函数,方法,对象实例到底有什么区别这个问题,所以今天就献丑来简单说明一些吧! 其实这些主要都是 ...

  4. form&period;elements属性

    form.elements属性与childNodes属性不同的是form.elements只返回的是表单元素组成的数组,包括input,textarea等

  5. js81&colon;Image对象,几张图像缓存完之后动画显示,form&period;elements&lbrack;&rsqb;&comma;document&period;images&lbrack;&rsqb;

    原文发布时间为:2008-11-09 -- 来源于本人的百度文章 [由搬家工具导入] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  6. 【转】JS回调函数--简单易懂有实例

    JS回调函数--简单易懂有实例 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is ...

  7. Textillate&period;js有什么用及使用实例

    Textillate.js有什么用及使用实例 一.总结 一句话总结:Textillate.js – 实现动感的 CSS3 文本动画的简单插件 二.textillate.js 文字动画 textilla ...

  8. js的dom对象(带实例超详细全解)

    js的dom对象(带实例超详细全解) 一.总结 一句话总结: 1.DOM中的方法区分大小写么? 解答:区分 2.DOM中元素和节点的关系式什么? 解答:元素就是标签,节点中有元素节点,也是标签,节点中 ...

  9. 用原生 JS 实现双向绑定及应用实例

    写在前面: 所谓的双向绑定,无非是从界面的操作能实时反映到数据,数据的变更也能实时展现到界面.angular封装了双向绑定的方法,使双向绑定变得十分简单.但是在有些场景下(比如下面那个场景),不能使用 ...

随机推荐

  1. GL&period;IssuePluginEvent 发布插件事件

    Description 描述 Send a user-defined event to a native code plugin. 发送一个用户定义的事件到一个本地代码插件. Rendering in ...

  2. java&lowbar;类承继其他类的内部类例子

    package ming; class Outer { class In { public In(String msg) { System.out.println(msg); } } } public ...

  3. 【转】针对iOS VS&period; Android开发游戏的优劣&mdash&semi;&mdash&semi;2013-08-25 17

    http://game.dapps.net/gamedev/experience/8670.html 问题:如果你正在一个新工作室开发一款新的平板/手机游戏,你会选择iOS还是Android? 回答: ...

  4. RH253读书笔记&lpar;6&rpar;-Lab 6 Implementing Web&lpar;HTTP&rpar; Services

    Lab 6 Implementing Web(HTTP) Services Goal: To implement a Web(HTTP) server with a virtual host and ...

  5. Entity Framework 处理并发

    Entity Framework 处理并发 在以前的两个教程你对关联数据进行了操作.本教程展示如何处理并发性.您将创建工作与各Department实体的 web 页和页,编辑和删除Department ...

  6. Compass 更智能的搜索引擎(3)--高亮,排序,过滤以及各种搜索

    要想使得一个搜索系统更加的完美,查询精确度和页面显示算是其中比较重要的两个方面.今天,我们就来谈谈怎么使得我们的搜索系统更加的完美. 关于分词 下载地址 配置 关于高亮 关于排序 原理 冗余字段 使用 ...

  7. 关于 VS 2010 和 VS 2013 的警告 LNK4042

    由于我最近调整了一下 Jimi 的文件结构,导致出现了一个 LNK4042 的 warning,我并没有很重视,这个 warning 导致出现了一些错误. 我调试了几个小时,一开始并没有想到是这个 w ...

  8. openfst常用命令

    记录一些遇到的常用的openfst的命令.help的信息我就不放了,可以自己看. fstaddselfloops: 加一个自旋,一般是在初始节点上.别的节点没试过..这句在生成L.fst的时候有遇到过 ...

  9. Check failed&colon; mdb&lowbar;status &equals;&equals; 0 &lpar;13 vs&period; 0&rpar; Permission denied

    文件权限问题. chown或者chmod即可 另外注意lmdb文件的权限

  10. Go之对象拷贝

    这里interface{}就相当于c#,java中的object, boy := util.Boy{util.Person{"Eric", 19, "boy"} ...