JavaScript 与表单
B站关联视频教程:https://www.bilibili.com/video/BV1RA41137yd?p=21
目录:
1)document.getElementById("html元素的id属性值");
2)document.getElementsByName("html元素的name属性值");
3)document.getElementsByClassName('html元素的class属性值');
4)document.getElementsByTagName('html元素的标签名')
input 文本
textarea 文本域
radio 单选
checkbox 多选
select 下拉
内容:
常见常用事件:
1、鼠标;2、键盘;3、文档;4、表单
<form action="abc.html" method="post" onSubmit=" return checksub();">
<form action="" method="post" onsubmit="return checksub();"> 用户名: <input type="text" id="username" name="username"/><br/> 密码: <input type="text" id="password" name="password"/><br/> <input type="submit" value="提交"/> </form> <script> function checksub(){ uname=document.getElementById("username").value; alert("您的用户名是:"+uname);//弹出输入的用户名信息 return false; } </script>
<input type="submit" value="提交" onClick="return checksub();" />
<form action="" method="post"> 用户名: <input type="text" id="username" name="username"/><br/> 密码: <input type="text" id="password" name="password"/><br/> <input type="submit" value="提交" onclick="return checksub();"/> </form> <script> function checksub(){ uname=document.getElementById("username").value; alert("您的用户名是:"+uname);//弹出输入的用户名信息 return false; } </script>
<a href="#none" onClick="checksub();">提交按钮</a>
<form action="" method="post"> 用户名: <input type="text" id="username" name="username"/><br/> 密码: <input type="text" id="password" name="password"/><br/> <a href="#none" onClick="checksub();">提交按钮</a> </form> <script> function checksub(){ uname=document.getElementById("username").value; alert("您的用户名是:"+uname);//弹出输入的用户名信息 return false; } </script>
上面这个写法,可以验证数据,但是无法提交表单。针对伪提交按钮,我们需要操作form表单执行提交动作 document.getElementById("表单id").submit(); 看如下代码:
<form action="" method="post" id="f" > <input type="text" id="username" name="username" /> <!--<input type="submit" value="提交" onclick="return checksub();"/>--> <a href="#none" onclick="checksub();">提交</a> </form> <script> function checksub(){ //alert(666); username=document.getElementById("username").value; if(username){ document.getElementById("f").submit(); }else{ alert("请输入用户名"); } } </script>
1)document.getElementById("html元素的id属性值");
2)document.getElementsByName("html元素的name属性值");
3)document.getElementsByClassName('html元素的class属性值');
4)document.getElementsByTagName('html元素的标签名')
//注:根据html的id,获得单个元素对象 document.getElementById("html元素的id属性值");//获得对象 document.getElementById("html元素的id属性值").value;//获得对象的value //注:根据html的name,获得多个元素对象 document.getElementsByName("html元素的name属性值"); //注:根据html的class,获得多个元素对象 document.getElementsByName("html元素的class属性值"); //注:根据html的标签名,获得多个元素对象 document.getElementsByName("html元素的标签名");
1)document.getElementById("html元素的id属性值");
<input type="text" id="value" value="itwenda.com"/> <script> var v=document.getElementById('value').value; document.write(v);//itwenda.com </script>
2)document.getElementsByName("html元素的name属性值");
<input type="radio" value='1' name='sex'/>男 <input type="radio" value='0' name='sex'/>女 <script> var obj = document.getElementsByName("sex"); document.write("<br/>"); document.write(obj[0].value);//1 document.write("<br/>"); document.write(obj[1].value);//0 </script>
3)document.getElementsByClassName('html元素的class属性值')
<input type="text" id="value" class="classname" value="itwenda.com"/> <script> var v=document.getElementsByClassName('classname')[0].value; document.write(v);//itwenda.com </script>
4)document.getElementsByTagName('html元素的标签名')
<input type="text" id="value" class="classname" value="itwenda.com"/> <script> var v=document.getElementsByTagName('input')[0].value; document.write(v);//itwenda.com </script>
获得:
<input type="text" id="value" placeholder="要获取的输入的值"/> <input type="button" value="获得input值" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ var v=document.getElementById('value').value; alert(v); } </script>
赋值:
<input type="text" id="value" placeholder="要获取的输入的值"/> <input type="button" value="赋值input值" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ var v=document.getElementById('value').value=666; //alert(v); } </script>
获得:
<textarea id="value" placeholder="要获取的输入的值"></textarea> <input type="button" value="获得textarea值" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ var v=document.getElementById('value').value; alert(v); } </script>
赋值:
<textarea id="value" placeholder="要获取的输入的值"></textarea> <input type="button" value="定义textarea值" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ var v=document.getElementById('value').value=666; // alert(v); } </script>
获的:
<input type="radio" value='1' name='sex'/>男 <input type="radio" value='0' name='sex'/>女 <input type="button" value="获得radio值" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ alert(select_value("sex")) } //str是radio的name function select_value(str){ var obj = document.getElementsByName(str); var obj_value; for (var i=0; i < obj.length; i++){ if (obj[i].checked){ obj_value = obj[i].value; } } return obj_value; } </script>
选中:【对象.checked = true;】
<input type="radio" id="value" value='1' name='sex'/>男 <input type="radio" id="value" value='0' name='sex'/>女 <input type="button" value="赋值radio,选择值为1的‘男’" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ // alert(select_value("sex")) select_value("sex",1) } //str是radio的name function select_value(str,v){ var obj = document.getElementsByName(str); var obj_value; for (var i=0; i < obj.length; i++){ // if (obj[i].checked){ // obj_value = obj[i].value; // } if (obj[i].value==v){ obj[i].checked = true; } } return obj_value; } </script>
获得:
<input type="checkbox" id="value" value='1' name='web[]'/>php <input type="checkbox" id="value" value='0' name='web[]'/>js <input type="button" value="获得checkbox值" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ alert(select_value("web[]")) } //str是checkbox的name function select_value(str){ var obj = document.getElementsByName(str); var obj_value=[]; for (var i=0; i < obj.length; i++){ if (obj[i].checked){ obj_value.push(obj[i].value); } } return obj_value; } </script>
选中:【对象.checked = true;】
<input type="checkbox" id="value" value='1' name='web[]'/>php <input type="checkbox" id="value" value='0' name='web[]'/>js <input type="button" value="值为1或0的被选中,点击" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ // alert(select_value("web[]")) select_value("web[]","1,0") } //str是checkbox的name function select_value(str,v){ var obj = document.getElementsByName(str); // var obj_value=[]; arr=v.split(",");//[1,0] for (var i=0; i < obj.length; i++){ // if (obj[i].checked){ // obj_value.push(obj[i].value); // } for(var j=0;j<arr.length;j++){ if(arr[j]==obj[i].value){ obj[i].checked=true; } } } return obj_value; } </script>
获得:
<select name="web" id="value"> <option value="1">男</option> <option value="0">女</option> </select> <input type="button" value="获得select值" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ alert(select_value("value")) } //str是select的id function select_value(str){ var obj = document.getElementById(str); for (var i=0; i < obj.length; i++){ if (obj[i].selected){ obj_value=obj[i].value; break; } } return obj_value; } </script>
选中:
<select name="web" id="value"> <option value="1">男</option> <option value="0">女</option> </select> <input type="button" value="点击,选中女" onclick="huoqu()"/> <script type="text/javascript"> function huoqu(){ // alert(select_value("value")) select_value("value",0) } //str是select的id function select_value(str,v){ var obj = document.getElementById(str); for (var i=0; i < obj.length; i++){ // if (obj[i].selected){ // obj_value=obj[i].value; // break; // } if(obj[i].value==v){ obj[i].selected=true; break; } } return obj_value; } </script>
总结:
1、input text文本,select 下拉,textarea 文本域使用:document.getElementById("标签id")得到的是单个对象
document.getElementById("标签id")
2、radio 单选,checkbox多选使用:getElementsByName("标签name")得到的是多个对象。
注意:虽然radio是单选,但是也是多个值中选择。
document.getElementsByName("标签name")
更多建议: