JavaScript操作表单

操作表单

1. 表单是什么

form 属于DOM数

  • 文本框 text
  • 下拉框 <select>
  • 单选框 radio
  • 多选框 checkbox
  • 隐藏域 hidden
  • 密码框 password
  • ......

表单的目的:提交信息

2. 获得要提交的信息

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form action="post">
    <p>
        <span>用户名:</span><input type="text" id="username">
    </p>

    <!--多选框的值,就是定义好的value的值-->
    <p>
        <span>性别:</span>
        <input type="radio" name="sex" value="male" id="male">男
        <input type="radio" name="sex" value="female" id="female">女
    </p>

</form>

<script>
    let inputText = document.getElementById('username');
    let maleRadio = document.getElementById('male');
    let femaleRadio = document.getElementById('female');
    //得到输入框的值
    let inputTextValue = inputText.value;
    //修改输入框的值
    inputText.value = 'value has been changed!';

    //对于单选框,多选框等固定的值,用.value只能取到当前的值
    let selectResult = maleRadio.checked;      //查看返回的结果是否为true,如果为true,则被选中
    femaleRadio.checked = true;                 //对选择赋值
</script>

</body>
</html>

3. 提交表单

MD5加密密码,表单优化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--MD5工具类-->
    <script src="http://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"></script>
</head>
<body>

<!--表单绑定提交事件-->
<!--onsubmit = 绑定一个提交检测的函数,true,false-->
<!--将这个结果返回给表单,使用onsubmit接收,形式为return + 函数-->

<form action="http://www.baidu.com" method="post" onsubmit="return aaa()">
    <!--注意,表单中的数据显示在form Data中时,以键值对返回,因此,如果没有name属性,不会返回相应的数据-->
    <p>
        <span>用户名:</span><input type="text" id="username" name="username">
    </p>
    <!--因此,下面明文的密码删除name属性,不会返回明文的数据-->
    <p>
        <span>密码:</span><input type="password" id="inputPassword">
    </p>

    <input type="hidden" id="md5-password" name="password">

    <!--绑定事件 onclick 被点击-->
    <button type="submit">提交</button>

</form>

<script>
    function aaa() {
        let uName = document.getElementById('username');
        let pwd = document.getElementById('inputPassword');
        let md5Pwd = document.getElementById('md5-password');
        //MD5算法
        md5Pwd.value = md5(pwd.value);
        //加密不要写下面一行的代码,这样提交的瞬间密码会变长(md5),使用上面的隐藏域的方法可以规避掉这个问题
        //pwd.value = md5(pwd.value);

        // 可以校验判断表单的内容,true就是通过提交,false就是阻止提交
        return true;
    }
</script>

</body>
</html>

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小