• js实现表单提交submit(),onsubmit


    通常表单的提交有两种方式,一是直接通过html的form提交,代码如下:

    <form action="" method="" id="forms">
        <input type="text" name="username" value="" />
        <input type="password" name="pwd" value="" />
        <input type="submit" value="提交"/>
    </form>

    但有时候我们会出于安全角度考虑,给用户输入的密码进行加密,方法一就没办法解决这个问题,这时候我们同常会选择另一种方法,使用javaScript来进行表单提交,代码入下:

    复制代码
    <!--HTML-->
    <form action="" method="" id="test_form">
        <input type="text" name="username" value="" />
        <input type="password" name="pwd" value="" />
        <button type="button" onclick='doSubmitForm()'>提交<button/>
    </form>
    

    <script>
    var form = document.getElementById('test_form');
    //再次修改input内容

    form.submit();
    </script>

    复制代码

    这种方法有个缺点就是,打乱正常的表单提交程序,通常用户输入完成后点击回车键就可以提交,但是这个方法实现不了,所以,使用下面的方法便可以解决这个问题,,通过form自身的onsubmit方法,来触发提交,然后进行input的修改:

    复制代码
    <!--HTML-->
    <form id='test_form' action='' method='' omsubmit='return checkForm()'>
        <input type='text' name='username' value=''/>
        <input type='password' name='pwd' value =''/>
        <button type='submit'>提交<button/>
    <form/>
    

    <script>
    function checkForm(){
    var form = document.getElementById('test_form');
    //可在此修改input
    //进行下一步
    return ture;
    }
    <script/>

    复制代码

    注意,checkForm()方法中,return true时,表单才会正常提交,为false时,浏览器将不会提交,通常是用户的密码输入错误时,终止提交。

    之前说过,为安全考虑用户提交时,一般对密码进行加密处理,代码如下:

    复制代码
    <!--HTML-->
    <form id='test_form' action='' method='' omsubmit='return checkForm()'>
        <input type='text' name='username' value=''/>
        <input type='password' name='pwd' id='pwd' value =''/>
        <button type='submit'>提交<button/>
    <form/>
    

    <script>
    function checkForm(){
    var pwd= document.getElementById('pwd');
    pwd.value
    = toMD5(pwd.value);
    //进行下一步
    return ture;
    }
    <script/>

    复制代码

    这种做法看上去没问题,但是当用户输入完成后,提交会发现密码框的 * 会由几个瞬间变成 32个,这是由于MD5加密造成的(MD5有32个字符);如果想避免出现这种情况,需要充分利用到<input type='hidden'>,代码如下:

    复制代码
    <!--HTML-->
    <form id='test_form' action='' method='' omsubmit='return checkForm()'>
        <input type='text' name='username' value=''/>
        <input type='password'  id='input_pwd' value =''/>
        <input type='hidden' name='pwd' id='md5_pwd' value=''/>
        <button type='submit'>提交<button/>
    <form/>
    

    <script>
    function checkForm(){
    var input_pwd= document.getElementById('input_pwd');
    var md5_pwd= document.getElementById('md5_pwd');
    md5_pwd.value
    = toMD5(input_pwd.value);
    //进行下一步
    return ture;
    }
    <script/>

    复制代码

    注意,<input type='password'/>是用户输入密码的input框并,没有设置 name 属性,而是给 <input type='hidden' /> 设置了 name='pwd',这样表单提交只会提交带有name属性的输入框,从而解决了上面的那个问题。

  • 相关阅读:
    方维,将采集到的淘宝天猫商品详情里面的链接转换成淘宝客链接
    方维系统,根据关键词、品牌 采集淘宝天猫的商品
    方维系统,评论按钮在没输入内容是虚的不能点击,输入内容选择分类后就可以点击了
    方维模板修改,评论框默认高度是70px,鼠标点击框内后高度增大变为100px
    方维模板修改,发布分享、主题有商品时,标签需自动写到input里,不要再手动去点击添加,手动点击可取消
    只采集淘宝上面包邮的商品,用方维
    Android Application 创建全局变量
    非常优秀的iphone学习文章总结!
    android NDK jni下的c文件 Unresolved inclusion
    Android Service学习笔记
  • 原文地址:https://www.cnblogs.com/jpfss/p/10442139.html
Copyright © 2020-2023  润新知