博主信息
博文 18
粉丝 0
评论 0
访问量 18372
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
js_submit
牛粪也香的博客
原创
1454人浏览过

```html

<form action="" method="" id="forms">

    <input type="text" name="username" value="" />

    <input type="password" name="pwd" value="" />

    <input type="submit" value="提交"/>

</form>

```


```html

<!--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

<!--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 true;

}

<script/>

```


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


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


```html

<!--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 true;

}

<script/>

```


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


```php+HTML

<!--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 true;

}

<script/>


```


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


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学