一、获取哦表单元素

dcoument表单文本对象的集合

all[] 对所有html元素的访问

forms 返回对文档中所有form对象的引用

forms[1] 对所有form对象引用


<script type="text/javascript">
function fun(){
document.all[11].innerHTML = "你好" ; document.forms[1].username.value = "张无忌" ; document.images[2].src = "images/1.jpg" ;
}
</script>
<body onload = "fun()">
<P></p>
<form method="post" action="">
姓名1:<input type="text" name="">
</form>
<form method="post" action="">
姓名2:<input type="text" name="username">
</form>
<form method="post" action="">
姓名3:<input type="text" name="">
</form> <img src = "" alt = "aa"><img src = "" alt = "bb"><img src = "" alt = "cc">
</body>

  通过集合来访问相应的对象
     1.通过下标的形式
     2.通过name形式


下标
alert(document.forms[1].name)
name属性
alert(document.forms["myform1"].text1.value) <form name="myform">
<code>&lt;form name="tt"&gt;&lt;/form&gt;
function checkform(id)
{
var formlist = document.getElementById(id).childNodes;
for(var i=0;i&lt;formlist.length;i++)
{
alert(formlist[i].type)
alert(formlist[i].value)
}
}

2.element获取所有表单元素

表单对象.elements  获得表单里面所有元素的集合
表单对象.elements[下标]
表单对象.elements["name"]
表单对象.elements.name


window.onload=function(){
var form=document.myform
var element=form.elements
}
&lt;body&gt;
&lt;form name="myform"&gt;
&lt;input type="text" name="username" value="baidu.com"&gt;&lt;br&gt;
&lt;input type="text" name="address" value="青岛"&gt;&lt;br&gt;
&lt;select name="kecheng"&gt;
&lt;option value="css" selected=""&gt;css&lt;/option&gt;
&lt;option value="div"&gt;div&lt;/option&gt;
&lt;/select&gt;
&lt;/form&gt;
&lt;input type="button" value="查看效果"/&gt;
&lt;/body&gt;


var eles=document.myform.elements.length;
alert(eles) var names=document.myform.elements[0].value;
var names=document.myform.elements["names"].value;
var names=document.myform.elements.names.value;

3.forms[1] 对所有form对象引用


&lt;script type="text/javascript"&gt;
function fun(){
document.all[11].innerHTML = "你好" ; document.forms[1].username.value = "张无忌" ; document.images[2].src = "images/1.jpg" ;
}
&lt;/script&gt;
&lt;body onload = "fun()"&gt;
&lt;P&gt;&lt;/p&gt;
&lt;form method="post" action=""&gt;
姓名1:&lt;input type="text" name=""&gt;
&lt;/form&gt;
&lt;form method="post" action=""&gt;
姓名2:&lt;input type="text" name="username"&gt;
&lt;/form&gt;
&lt;form method="post" action=""&gt;
姓名3:&lt;input type="text" name=""&gt;
&lt;/form&gt; &lt;img src = "" alt = "aa"&gt;&lt;img src = "" alt = "bb"&gt;&lt;img src = "" alt = "cc"&gt;
&lt;/body&gt;

取出窗体中的所有表单的数量:document.forms.length

二、获取表单中的标签元素

1.文本域 : 操作文本域的值 value 属性,设置或者获取值


var names=document.forms[0].elements.names.value="lisi";
alert(names)

文本域回显


&lt;p style="margin-top: -22px; padding-left: 40px;"&gt;&lt;input type="text" name="matainReasonRemark" class="long"/&gt;&lt;/p&gt; $.ajax({
type : "POST",
url : uxl,
data : param,
success : function(list) {
var matainReasonRemark= obj.data.MATAIN_REASON_REAMRK;
$("input[name='matainReasonRemark']").val(matainReasonRemark);
});
},
error : function(data) { },
});

三、表单校验

1.onsubmit  当表单提交的时候触发的事件
2.onblur
3.onfocus
4.onchange

非空


&lt;script&gt;
function check (obj) {
if(obj.names.value==""){
alert("姓名不能为空");
return false;
}
if(obj.age.value==""){
alert("年龄不能为空");
return false;
}
var statu=0;
for (var i=0; i&lt;obj.sex.length; i++) {
if(obj.sex[i].checked){
statu=1;
}
}
if(!statu){
alert("性别不能为空");
return false; //阻止事件的默认行为(适用于所有事件)
}
}
&lt;/script&gt; &lt;form name="myform" action="" method="post" onsubmit=" return check(this)"&gt;
性别:&lt;input type="radio" name="sex" value="man"&gt;男 &lt;input type="radio" name="sex" value="woman"&gt;女&lt;br/&gt;
&lt;/form&gt;

四、表单提交


&lt;script&gt;
window.onload=function () {
var subs=document.myform.subs;
subs.onclick=function () {
document.myform.action="1.html";
document.myform.submit();
} setTimeout(function () {
document.myform.action="2.html";
document.myform.submit();
},4000)
}
&lt;/script&gt; &lt;form name="myform" action="" method="post"&gt;
&lt;input type="text" name="names"&gt;
&lt;input type="button" value="提交" name="subs"&gt;
&lt;/form&gt;

 

二、表单回显

innerhtml的值是表单元素的值:如how are you,则innerhtml的值就是:how are you

innertext的值和上面的一样,只不过不会把em这种标记显示出来.  

获取div的内容使用$('#example').html()

或者要文本可以使用$('#example').text()
要获取input的值可以使用$('#example').val()

一、html()

用为读取和修改元素的HTML标签    对应js中的innerHTML

html()是用来读取元素的HTML内容(包括其Html标签),.html()方法使用在多个元素上时,只读取第一个元素


&lt;p&gt;
&lt;strong&gt;Hi!&lt;/strong&gt;
&lt;/p&gt; --------------------- $('p').html();//返回p元素的全部内容,包括内容里的标签,返回:&lt;strong&gt;Hi!&lt;/strong&gt; ---------------------

$('td[aria="View_CHECK_NAME"]').each(function(){
if($(this).html()=="yes"){
$(this).attr("style","color:red; text-align:center;cursor:pointer");
}
})

二、text()

用来读取或修改元素的纯文本内容  对应js中的innerText

text()用来读取元素的纯文本内容,包括其后代元素;.text()方法不能使用在表单元素上


&lt;p&gt;
&lt;strong&gt;Hi!&lt;/strong&gt;
&lt;/p&gt; ---------------------
$('p').text();/*返回p元素的文本内容,不包括内容里的标签,只返回:Hi! */ ---------------------

text()和html()的区别 :

(1)text()只能返回文本内容,而html()可以返回元素的全部内容 (2)text(str)设置元素内容时,只有文本内容有效,其余内容无效;而html(str)设置元素内容时,所有内容有效(包括标签) (3)text()返回所有匹配元素的内容,叠加;而html()只返回第一个匹配元素的内容


&lt;p&gt;Hi!&lt;/p&gt;&lt;p&gt;Hello!&lt;/p&gt; --------------------- $('p').text();//返回内容为所有p元素的内容叠加:Hi!Hello! --------------------- $('p').html();//返回内容为第一个p元素的内容:Hi! ---------------------

三、val();

用来读取或修改表单元素的value值,如button,text,hidden

val()是用来读取表单元素的"value"值,.val()只能使用在表单元素上

val是属性,只有有该属性的对象才能调用


&lt;input type='text' value='xxx'/&gt; 这个就需要用 val()。

关于三者的区别

   1. .val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。


$('p').html();            //返回p元素的html内容
$("p").html("Hello &lt;b&gt;nick&lt;/b&gt;!"); //设置p元素的html内容
$('p').text();            //返回p元素的文本内容
$("p").text("nick");        //设置p元素的文本内容
$("input").val();          //获取文本框中的值
$("input").val("nick");      //设置文本框中的内容

    2 .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。



   &lt;script type="text/javascript"&gt;
$(document).ready(function(){
$("#btn1").click(function(){
$(".aa").text(function(i,oriText){
alert("原文本:"+oriText+"新文本:hello world! index("+i+")");
});
});
}); &lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;button>
<code>var sex=document.myform.sex;
sex[0].checked=true;
for (var i=0; i&lt;sex.length; i++) {
if(sex[i].checked){
alert(sex[i].value)
}
}

多选按钮 : checked  返回或者设置单选的选中状态true 选中,false 未选中。value 属性 获取选中的值,必须先判断选中状态。


var likes=document.forms.myform["like[]"];
likes[2].checked=true;
for (var i=0; i&lt;likes.length; i++) {
if(likes[i].checked){
alert(likes[i].value);
}
}

多选按钮数据回显


&lt;p&gt;
&lt;label&gt;&lt;input type="checkbox" name="matainReason" value="1"/&gt;1、无关闭&lt;/label&gt;
&lt;label&gt;&lt;input type="checkbox" name="matainReason" value="2"/&gt;2、升高&lt;/label&gt;
&lt;label&gt;&lt;input type="checkbox" name="matainReason" value="3"/&gt;3、降低&lt;/label&gt;
&lt;label&gt;&lt;input type="checkbox" name="matainReason" value="4"/&gt;4、压力低&lt;/label&gt;
&lt;label&gt;&lt;input type="checkbox" name="matainReason" value="5"/&gt;5、压力不稳&lt;/label&gt;
&lt;label&gt;&lt;input type="checkbox" name="matainReason" value="6"/&gt;6、漏气&lt;/label&gt;
&lt;label&gt;&lt;input type="checkbox" name="matainReason" value="7"/&gt;7、定期&lt;/label&gt;
&lt;/p&gt; $.ajax({
type : "POST",
url : uxl,
data : param,
success : function(list) {
$.each(list,function(index,obj){
var matainReason = obj.data.MATAIN_REASON;
var matainReasonArr = matainReason.split(",");
var matainReasonBox = $("input[name='matainReason']");
for(var i=0;i&lt;matainReasonArr.length;i++){
$.each(matainReasonBox,function(j,checkbox){
var checkValue=$(checkbox).val();
if(matainReasonArr[i]==checkValue){
$(checkbox).attr("checked",true);
}
})
} });
},
error : function(data) { },
});

多选框数据回显


&lt;tr style="height: 200px"&gt;
&lt;td style="width: 180px" colspan="9"&gt;
&lt;label style="font-size:15px;"&gt;培训内容:&lt;/label&gt;&lt;br /&gt;
&lt;input type="checkbox" name="trainContent" value="1" style="width: 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;灶具零部件的使用方式方法&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
&lt;input type="checkbox" name="trainContent" value="2" style="width: 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;胶管、减压器、卡箍更换周期&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
&lt;input type="checkbox" name="trainContent" value="3" style="width: 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;钢瓶使用安全注意事项&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
&lt;input type="checkbox" name="trainContent" value="4" style="width: 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;其他&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;

  var boxObj = $("input:checkbox[name='trainContent']");  //获取所有的复选框
    var expresslist = data.data.trainContent; //用el表达式获取在控制层存放的复选框的值为字符串类型
    if(null!=expresslist){
var express = expresslist.split(','); //去掉它们之间的分割符“,” 
    for(i=0;i&lt;boxObj.length;i++){
       for(j=0;j&lt;express.length;j++){            
           if(boxObj[i].value == express[j])  //如果值与修改前的值相等
           {
               boxObj[i].checked= true;
               break;
           }
       }
    }
} &lt;tr style="height: 200px"&gt;
&lt;td style="width: 180px" colspan="9"&gt;
&lt;label style="font-size:15px;"&gt;培训内容:&lt;/label&gt;&lt;br /&gt;
&lt;input type="checkbox" name="trainContent" value="1" style="width: 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;灶具零部件的使用方式方法&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
&lt;input type="checkbox" name="trainContent" value="2" style="width: 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;胶管、减压器、卡箍更换周期&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
&lt;input type="checkbox" name="trainContent" value="3" style="width: 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;钢瓶使用安全注意事项&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
&lt;input type="checkbox" name="trainContent" value="4" style="width: 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;其他&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/td&gt;

selected  设置或返回下拉框的选中状态,true 选中,false 未选中。selectedIndex  设置或返回下拉框被选中的索引号


var school=document.myform.school;
var school=document.myform.school.options;
alert(school.length)
//selected设置选中状态
school[1].selected=true;
//selectedIndex设置选中状态
school.selectedIndex=2;

&lt;form name="form1"&gt;
文本框 :&lt;input type="text" value="txt" /&gt;
&lt;br /&gt;
单选按钮:&lt;input type="radio" value="男" name="sex" /&gt;男 &lt;input type="radio" value="女" name="sex" checked="checked"/&gt;女
&lt;br /&gt;
复选框:&lt;input type="checkbox" value="1" name="check[]"/&gt;1&lt;input type="checkbox" value="2" checked="checked" name="check[]" /&gt;2&lt;input type="checkbox" value="3" checked="checked" name="check[]" /&gt;3
&lt;br /&gt;
下拉框:
&lt;select style="width: 100px"&gt;
&lt;option value="yi"&gt;1&lt;/option&gt;
&lt;option value="er" selected="selected"&gt;2&lt;/option&gt;
&lt;option value="san"&gt;3&lt;/option&gt;
&lt;/select&gt;
&lt;br /&gt;
&lt;input type="button" value="获取" onclick="getVal()"/&gt;
&lt;/form&gt;

&lt;script type="text/javascript"&gt; function getVal(){
var str="";
//获取单选按钮的值
var radios = document.form1.sex;
var n = radios.length;
for (var i = 0; i &lt; n; i++) {
if (radios[i].checked) {
str = " 单选 "+radios[i].value;
}
}
//还有获取单选框的值有三种方式:
$('input:radio:checked').val();
$("input[type='radio']:checked").val();
$("input[name='sex']:checked").val(); //获取复选框中选中的值的组合 1,2,3,4
var checkboxs = document.getElementsByName('check[]');
var n = checkboxs.length;
for (var i = 0; i &lt; n; i++) {
if (checkboxs[i].checked) {
str += " 复选框 "+checkboxs[i].value;
}
}
//获取下拉列表的选中项的值
//方法一:
str += " 列表 一:"+document.getElementById("sel").value; //方法二:
var sel = document.getElementById("sel");
str += " 列表 二:"+sel.options[sel.selectedIndex].value;
alert(str); }
&lt;/script&gt;

全选反选


&lt;script type="text/javascript"&gt;
function checkAll(flag){
//拿到所有的多选框
var hobbys = document.getElementsByName("hobby") ;
//循环赋值
for(var i =0 ;i&lt;hobbys.length ;i++){
hobbys[i].checked = flag ;
}
} function reverseCheck(){
//拿到所有的多选框
var hobbys = document.getElementsByName("hobby") ;
//循环赋值
for(var i =0 ;i&lt;hobbys.length ;i++){
hobbys[i].checked = !hobbys[i].checked ;
}
}
&lt;/script&gt;
&lt;body&gt;
&lt;h1&gt;请选择你的爱好:&lt;/h1&gt;
全选/全不选&lt;input type="checkbox" name="hobbys" onclick="checkAll(this.checked)" /&gt;&lt;br/&gt;
&lt;input type="checkbox" name="hobby" value="football"/&gt;足球
&lt;input type="checkbox" name="hobby" value="basketball" /&gt;篮球
&lt;input type="checkbox" name="hobby" value="swim" /&gt;游泳
&lt;input type="checkbox" name="hobby" value="singing"/&gt;唱歌&lt;br/&gt; &lt;input type="button" value="全选" onclick="checkAll(true)"/&gt; &lt;input type="button" value="全不选" onclick="checkAll(false)"/&gt;
&lt;input type="button" value="反选" onclick="reverseCheck()"/&gt; &lt;/body&gt;

全选全不选


全选&lt;input type='radio' name='radios'&gt;
全不选&lt;input type='radio' name='radios'&gt;
反选&lt;input type='radio' name='radios'&gt;
//全选
window.onload=function () {
var nums=document.getElementsByName("nums");
var radios=document.getElementsByName("radios"); for (var i=0; i&lt;radios.length; i++) {
(function (a) {
radios[a].onclick=function () {
if(a==0){
for (var i=0; i&lt;nums.length; i++) {
nums[i].checked=true;
}
}
}
})(i)
} radios[0].onclick=function () {
for (var i=0; i&lt;nums.length; i++) {
nums[i].checked=true;
}
} //全不选
radios[1].onclick=function () {
for (var i=0; i&lt;nums.length; i++) {
nums[i].checked=false;
}
} //反选
radios[2].onclick=function () {
for (var i=0; i&lt;nums.length; i++) {
if(nums[i].checked){
nums[i].checked=false;
}else{
nums[i].checked=true;
}
}
}
} function fun (a,b,c) {
c[b].onclick=function () {
if(b==0){
for (var i=0; i&lt;a.length; i++) {
a[i].checked=true;
}
}
if(b==1){
for (var i=0; i&lt;a.length; i++) {
a[i].checked=false;
}
}
if(b==2){
for (var i=0; i&lt;a.length; i++) {
if(a[i].checked){
a[i].checked=false;
}else{
a[i].checked=true;
}
}
}
}
}

通过this实现全选全不选


&lt;ul style="display:block;"&gt;
&lt;li class="parent expanded"&gt;&lt;span&gt;&lt;input type="checkbox" checked="checked"/&gt;&lt;/span&gt;&lt;b&gt;&lt;img src="${ctx}/static/images/icon_fold_f.png"/&gt;&lt;/b&gt;
&lt;a href="javascript:;"&gt;网址&lt;/a&gt;
&lt;ul class="Item" style="display:block"&gt;
&lt;/ul&gt;
&lt;/li&gt;

$("#all").change(function() {
if ($(this).attr("checked")) {
$(".Item").each(function() {
$(this).attr("checked", true);
});
} else {
$(".Item").each(function() {
$(this).attr("checked", false);
});
}
})

 

 

 

 

 

 

 

来源:

jquery获取表单元素与回显的更多相关文章

  1. jquery 获取表单的用户输入值的方法

    以前的表单中的select input textarea的用户选择输入是通过jQuery的val()方法获取到的,在三一Java前端大拿教我了一个方法可以不用那么麻烦获取数据,只要在这些表单元素上加n ...

  2. JS获取表单元素的value

    <!-- 1.option selected属性,如果我们在下拉列表里面选择了一个option那么他的selected="true" ,如果我们想设置当前的option是选中 ...

  3. jQuery name属性与checked属性结合获取表单元素值

    var paytype = $("input[name='paytype']:checked").val(); alert(paytype); input元素下名称为paytype ...

  4. 基于JQuery实现表单元素值的回写

    form.jsp: <%@ page language="java" import="java.util.*" pageEncoding="GB ...

  5. jQuery获取表单各元素的值

    radio值获取 $("input[type='radio']:checked").val(); 2,设置指定的项为当前选中项 $("input[type='radio' ...

  6. 用jQuery获取表单的值

    在日常开发过程中,有许多用到表单的地方.比如登录,注册,比如支付,填写订单,比如后台管理等等. 使用jQuery来获取表单的值是比较常见的做法. 常见表单 单行文字域:<input type=' ...

  7. jquery 获取表单的内容以JSON对象形式返回

    添加一个serializeJson方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&quo ...

  8. jQuery选取表单元素

    表单元素选择器 选择器                    说明 :button                 <button>元素和type属性值为button的<input& ...

  9. jQuery获取表单全部数据

    iQuery如何获取表单的全部数据,用于ajax提交 var formData = {}; var t = $('#Form').serializeArray(); $.each(t, functio ...

随机推荐

  1. svn hooks使用

    最近要将某个目录做samba共享出去,而想通过svn同步文档到svn,然后通过svn hooks 同步到共享目录,实现自动化 现在svn服务器和samba server再同一台机器上: 在svn路径下 ...

  2. [LeetCode]Palindrome Number 推断二进制和十进制是否为回文

    class Solution { public: bool isPalindrome2(int x) {//二进制 int num=1,len=1,t=x>>1; while(t){ nu ...

  3. NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(三)

     Precondition: hadoop 2.7.1 hbase 0.98.13 solr 5.2.1 / Apache Solr 4.8.1 http://archive.apache.org ...

  4. How to Use HTML5 FUll Screen API(怎样使用HTML5全屏接口)

    原文链接:http://www.sitepoint.com/use-html5-full-screen-api/ 假设你不太喜欢变化太快的东西,那么web开发可能不适合你. 我曾在2012年末有写过F ...

  5. Oracle直接路径加载--append的深度解析

    ㈠ 直接路径加载和buffer cache              直接路径插入的数据不经过buffer cache,从PGA直接把数据格式化成Oracle块       然后由普通的Oracle ...

  6. Swift迎来了1.0 GM 版(2014.09.09)

    2014年6月2日,swift开发团队将swift语言公之于众.而2014年9月9日迎来了swift的第二个里程碑,swift1.0版本号(GM),这意味着无论你的应用有一部分功能是用swift写的, ...

  7. Nginx 配置指令的执行顺序

    在一个 location 中使用 content 阶段指令时,通常情况下就是对应的 Nginx 模块注册该 location 中的“内容处理程序”.那么当一个 location 中未使用任何 cont ...

  8. appium mac 下 安装及踩坑

    Appium Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver的json ...

  9. erlang的斐波那契数列

    [递归和循环] 题目: 大家都知道斐波那契数列,现在要求输入一个整数N,请输出斐波那契数列的第N项,以及前N项. 如:N <=39 下面是斐波那契数列的实现: -module(feibo). - ...

  10. saltstack内置执行模块useradd

    useradd模块用于命令行管理用户 salt.modules.useradd.add(name, uid=None, gid=None, groups=None, home=None, shell= ...