表单处理[1]
// var fm=document.getElementById('myForm'); //第一种方法获取
// var fm=document.getElementsByTagName('form')[0]; //第二种方法获取
// var fm=document.forms[0]; //HTML DOM通过0下标获取 //第三种方法获取
// var fm=document.forms['yourForm']; //HTML DOM通过name下标获取 第四种方法获取
// var fm=document.yourForm; //向下兼容的方法,这种方式不推荐使用
表单处理:
submit事件触发的一些问题:
<form id="myForm" name="yourForm">
姓名:<input type="text" name="user"/>
<input type="submit" value="提交"/>
</form>
这种方式是get方式提交,只有type="submit"的按钮才能提交,普通按钮不能提交
如果input的value没有值,那么点击提交后,网址为:file:///D:/workspace/gengxin/javascript/0.html?user=
如果input的value值是abc,那么点击提交后,网址为:file:///D:/workspace/gengxin/javascript/0.html?user=abc
var fm=document.getElementById('myForm');
//阻止提交
addEvent(fm,'submit',function(evt){
preDef(evt);
})
//PS:submit事件,用传统的方式:fm.onsubmit=function(){};
//疑问:submit事件,为什么要用form对象来触发呢?为什么不能是input中的submit按钮触发呢?
//PS:把submit事件注册到input中的submit按钮,是无法触发submit事件的
//PS:必须把submit事件绑定到form对象上,才可以触发submit事件
//PS:只不过触发submit事件的流程是点击input中的submit按钮而已
------------------------------------------------------------------
让非submit按钮提交表单
<form id="myForm" name="yourForm">
姓名:<input type="text" name="user"/>
<input id="button" type="button" value="我其实不能提交"/>
</form>
addEvent(window,'load',function(){
var fm=document.getElementById('myForm');
//阻止提交
addEvent(fm,'submit',function(evt){
preDef(evt);
})
var button=document.getElementById('button');
addEvent(button,'click',function(){
fm.submit(); //可以让非submit按钮提交表单
})
})
strong标签也可以提交
<form id="myForm" name="yourForm">
姓名:<input type="text" name="user"/>
<strong>其实我能提交</strong>
</form>
addEvent(window,'load',function(){
var fm=document.getElementById('myForm');
//阻止提交
addEvent(fm,'submit',function(evt){
preDef(evt);
})
var strong=document.getElementsByTagName('strong')[0];
addEvent(strong,'click',function(){
fm.submit(); //可以让非submit按钮提交表单
})
})
---------------------------------------------------------------
按住了ctrl和enter键提交
addEvent(window,'load',function(){
var fm=document.getElementById('myForm');
//阻止提交
addEvent(fm,'submit',function(evt){
preDef(evt);
})
addEvent(document,'keydown',function(evt){
var e=evt||window.event;
alert(e.keyCode)
if(e.ctrlKey && e.keyCode==13) fm.submit();
})
})