Form表单基础知识和常用兼容方法笔记(一)

需要用到的HTML

<form id="myForm" name="yourForm" action="">
        姓名:<input type="text" id="textFiled" name="user" value="text">
        <p id="box"></p>
        <input type="submit" id="sub" value="提交">
        <textarea name="textbox1" id="" cols="30" rows="10">111</textarea>
        <textarea name=" textbox1" id="" cols="30" rows="10">111</textarea>
        <select name="location" id="">
            <option value="上海v">上海t</option>
            <option value="南京v">南京t</option>
            <option value="苏州v">苏州t</option>
        </select>
</form>

1,取出form中的元素

var fm=document.forms[0]或者var fm=document.getElementById(‘myForm‘) 或者var myForm=document.forms[‘yourForm’]; //取得表单

var textbox=fm.elements[‘textbox1‘] //取得name=textbox1 的 textarea

var selectbox=fm.elements[‘location‘];以上都可以用id取得相应的元素

var textFiled=document.getElementById(‘textFiled‘);//input

表单字段elements是取得form所有表单元素的集合:

例如:

<textarea name="content" id="" cols="30" rows="10">111</textarea>

<textarea name=" content " id="" cols="30" rows="10">222</textarea>

var textarea= form.elements[‘content’] 取得name=content的表单元素集合

var field= textarea[0] 取得第一个name为content的textarea;

2, 表单属性,方法

表单提交submit();

fm.submit();

重置表单reset();

form.rest();

acceptCharset:服务器能处理的字符集

action:接受请求的url

elements:表单所有控件的集合

length:表单中控件的数量

method:要发送http请求类型

name:表单的名称

reset();重置表单

submit:提交表单

target:用于发送请求和接收响应的窗口名称

3,共有的表单字段属性和方法, 事件

属性:

disabled:字段是否被禁用  <input type="text" id="sub" value="文本被禁用 " disabled=true >

form: 当前表单元素是否指向某个表单

name:当前字段名称

readyOnly:当前是否只读  <input type="text" id="sub" value="文本只读 " readyOnly =true >

type:字段类型

value:提交给服务器的值

方法:

focus():得到焦点的方法

blur():失去焦点的方法

h5新增方法 autofocus    <input type="text" id="sub" value="文本"  autofocus  > 不用focus 焦点自动移动到相应字段

事件

blur:当前字段失去焦点时触发

change:对于input和textarea 元素,在他们失去焦点且value值改变时候触发,而对于select元素,在其选项改变时触发;经常用于验证用户在字段中输入的数据;

focus:当前字段得到焦点时候触发

4,文本框脚本,选择文本框,取得选择的文本,选择部分文本

选择文本框select()

这个方法用于选择文本框中所有的文本,大多数浏览器(opera)除外都会将焦点设置到文本框中,

与之对应的select事件,选择文本框的文本时会触发该事件,什么时候触发看各个浏览器

取得选择的文本

html5通过扩展方案解决了这个问题。添加属性selectionStart 和 selectionEnd 这两个属性中保存的是基于0 的数值  但是可悲的是ie8 不支持者两个属性

例如:textbox.value.substring(textbox.selectionStart, textbox.selectionEnd)

兼容ie8及以下版本  选择文本

function getSelectText(textbox){
If(typeof   textbox.selectionStart==”number”){
  return textbox.value.substring(textbox.selectionStart, textbox.selectionEnd)

}else if(document.selection){
   return document.selection.createRange().text;
}

调用//调用var textFiled=document.getElementById(‘textFiled‘);    ev.addEvent(textFiled,"select",function(){        var result=getSelectText2(this);        document.getElementById(‘box‘).innerHTML=result;    })

选择部分文本  setSelectionRange()

setSelectionRange()接受两个参数:要选的的第一个字符的索引和要选择的最后一个字符之后的索引 可悲的是ie又不兼容

例子:

textbox.value=’hello word’

//选择所有文本

Textbox.setSelectionRange(0,textbox.value.length);

//选择前三个字符

Textbox.setSelectionTange(0,3); //hel

//选择第四道第六个字符

Textbox.setSelectionTange(4,7); //’o w’

兼容ie8及以下版本 选择部分文本

//选择部分文本兼容办法
function selectText(textbox,startIndex,stopIndex){
    if(textbox.setSelectionRange){
        textbox.setSelectionRange(startIndex,stopIndex);
    }else if(textbox.createTextRange){
        var range=textbox.createTextRange();
        range.collapse(true);
        range.moveStart("character",startIndex)
        range.moveEnd("character",stopIndex-startIndex);
        range.select();
    }
    textbox.focus();
}

//调用textbox.value=‘hello word‘;

//选择全部文本selectText(textbox,0,textbox.value.length)//‘hello word‘

//选择前3个字符selectText(textbox,0,3)//‘hel‘

//选择第四到第六个selectText(textbox,4,7)//‘o w‘

请关注下节,,,,,,,,

时间: 2024-08-07 10:16:50

Form表单基础知识和常用兼容方法笔记(一)的相关文章

Form表单基础知识和常用兼容方法笔记(二)

接到上一节讲文本框脚本 过滤输入(屏蔽字符和操作剪贴板) 在此之前需要用到两个兼容的方方法 var ev={ //添加事件监听 addEvent:function(obj,evt,fun){ if(obj.addEventListener){//for dom obj.addEventListener(evt,fun,false) } else if(obj.attachEvent){//for ie obj.attachEvent("on"+evt,fun) //obj.attach

Form表单基础知识和常用兼容方法笔记(三)

选择框脚本 选择框是通过<select>和<option>元素创建的 一下是方法和属性 add:向控件中插入新的option元素 multiple:是否允许多项选择,布尔值 options: 控件中所有的option元素 selectedIndex:从0开始的选中项的索引,如果没有选中项则为-1,选中项的索引 size:选择框中可见的行数 每个option 又有如下属性: Index:当前选项在options集合中的索引 Label:当前选项的标签 Selected:表示当前选项是

《JAVASCRIPT高级程序设计》表单基础知识和文本框脚本

在HTML中,表单是由<form>元素来表示,在javascript中,表单对应的是HTMLFormElement类型,它具有一些独有的属性和方法: 一.表单基础知识 1.取得表单的方式 var form = document.getElementById("form1");//取得页面中id=form1的元素 var form1 = document.forms[0];//取得页面中的第一个表单 var myform = document.forms["myFo

jQuery实现form表单基于ajax无刷新提交方法详解

本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o

Django Form表单基础

平时我们写表单要自己写样式,比如我们要写一个注册样式,有如下填写项: 实现代码如下: views.py文件 #!/usr/bin/env python #-*-conding:utf-8:-*- from django.shortcuts import render from django import forms # Create your views here. def user_list(request):     host = request.POST.get('host')     p

asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法

MVC中表单form是怎样提交? 控制器Controller是怎样接收的? 1..cshtml 页面form提交 (1)普通方式的的提交 (2)特殊方式提交 2.控制器处理表单数据的四种方法 方法1:使用传统的Request请求数据 方法2:Action参数名与表单元素name值一一对应 方法3:从MVC封装的FormCollection容器中读取 方法4:使用实体作为Action参数传入,前提是提交的表单元素名称与实体属性名称一一对应 控制器源码 using MvcStudy.Models;u

HTML表单基础知识

<form>元素定义HTML表单 action属性定义在提交表单时执行的动作 method属性规定在提交表单时所用的HTTP方法(GET或POST) Name属性:如果要正确地被提交,每个输入字段必须设置一个name属性 属性 描述 accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集). action 规定向何处提交表单的地址(URL)(提交页面). autocomplete 规定浏览器应该自动完成表单(默认:开启). enctype 规定被提交数据的编码(默认:u

form表单input file类型的重置

我们知道form表单的dom中有一个reset方法,通过 document.getelemetbyid('yourform').reset()可以重置表单. Jquery对象没有reset方法,所以jquery的重置也是通过dom的reset方法完成,即 $('yourform')[0].reset() 对于form表单的input file类型的元素,在其他主流浏览器中通过form的reset方法完全可以重置 但是IE9以及以下对input file类型,reset无法重置.查了一些资料据说是

Form表单类组件与Map地图组件

笔记内容:Form表单类组件与Map地图组件 笔记日期:2018-02-04 form之switch组件 switch组件是一个开关选择器,wxml示例代码如下: <view class='container'> <view class='switch_text'>switch</view> <switch name='switch1' checked='true' /> <switch name='switch2' /> <switch