from表单

//概念:name为要提交的元素,value为要提交的元素里的值,

//补充建议:input的value也是内容值,多个radio给一样的name就一次只能选一个,checkbox建议name不要一样

 

1.手动构建:

var form = new FormData();
//添加参数
form.append('name', 'jack');
form.append('age', 20);
//使用xmlhttprequest发起请求
var xhr = new XMLHttpRequest();
xhr.open('post', '这里添上请求的url', true);
xhr.onreadystatechange = function() {
    if(xhr.readyState == 4) {
        //成功
    }
}
//执行请求
xhr.send(form);

2.html:

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

3.js

简:

<!--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>
加密:
omsubmit:表单触发事件,为了可以让用户输入完成后点击回车键就可以提交,checkForm()方法中,return true时,表单才会正常提交,为false时,浏览器将不会提交,通常是用户的密码输入错误时,终止提交。

md5加密有32位,如果想避免出现这种情况,需要利用到<input type='hidden'>,<input type='password'/>是用户输入密码的input框并,没有设置 name 属性,而是给 <input type='hidden' /> 设置了 name='pwd',这样表单提交只会提交带有name属性的输入框
<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/>

 4.jquery构建:

var formData1 = $(sumit_form).serialize() // serialize()即可拿到表单元素为true的数据,随便找个点击事件触发即可,附 e.perventDefault
var formData2 = decodeURIComponent(formData1,true) // 转码为中文
            formData2 = formData2 + '&tiema=' + s_createtime
            $.ajax({
                url: '/saveform',
                type: 'post',
                data: {formData2:formData2},
                success: function(data){
                    //console.log(data)
                }
            })

 

posted @ 2021-06-01 13:33  封兴旺  阅读(60)  评论(0编辑  收藏  举报

联系方式: 18274305123(微信同号)