表单(一):基础知识

取得<form>元素引用的方式

var form = document.getElementById('form1');
var firstForm = document.forms[0]; //取得页面中的第一个表单
var myForm = document.forms['form2']; //取得页面中名称为'form2'的表单
var formObj = document.forms.form2; //不推荐,,一是容易出错,二是将来的浏览器可能会不支持

 

提交表单
定义提交按钮

//通用提交按钮
<input type='submit' value='submit form'/>
//自定义提交按钮
<button type='submit'>submit form</button>
//图像按钮
<input type='image' src='graphic.gif'/>

提交事件

var form = document.getElementById('myForm');
form.submit();

这种方式无需表单包含的提交按钮,任何时候都可以正常提交表单

var form = document.getElementById('myForm');
EventUtil.addHandle(form, 'submit', function(event){
    //取得事件对象
    event = EventUtil.getEvent(event);
    //阻止默认事件
    EventUtil.preventDefault(event);
})

*:在第一次提交表单后,如果长时间没有反应,用户可能会变得不耐烦。这时候,他们也许会反复单击提交按钮,结果往往会很麻烦,因为服务器要处理重复的请求,
或者造成错误,如果用户是下订单,那么可能会多订好几份。解决这一个问题的办法有两个
1、在第一次提交表单后就禁用提交按钮
2、利用onsubmit事件处理程序取消后续的表单提交操作

 

重置表单
创建重置按钮

//通用重置按钮
<input type='reset' value='reset form'/>
//自定义重置按钮
<button type='reset'>reset form</button>

点击重置按钮

var form = document.getElementById('myForm');
form.reset();

与调用submit()方法不同,调用reset()方法会像单击重置按钮一样触发reset事件

 

访问表单

<form method='post' id='myForm'>
    <ul>
        <li>
            <input type='radio' name='color' value='red'/>
        </li>
        <li>
            <input type='radio' name='color' value='green'/>
        </li>
        <li>
            <input type='radio' name='color' value='blue'/>
        </li>
    </ul>
</form>

var form = document.getElementById('myForm');
var coloFields = form.elements['color']; //返回一个NodeList    

 

posted @ 2018-04-12 07:02  wzndkj  阅读(198)  评论(0编辑  收藏  举报