JS/Jquery 表单方式提交总结

更多JS实战,前往:https://www.yuque.com/smallwhy/yyvuqy

1. submit提交

(1). submit 按钮式提交

缺点:在提交前不可修改提交的form表单数据

// 1. html
<form method="post" action="/../.." >
    <input type="text" name="username" value="" />
    <input type="password" name="pwd" value="" />
    <input type="submit" value="提交"/>
</form>

(2). onsubmit方式提交

优点:在请求提交操作(action)时,可对提交的数据进行处理

// 1. html
<form id='test_form' action='' method='' onsubmit='return checkForm()'>
    <input type='text' name='username' value=''/>
    <input type='password' id='input_pwd' value =''/> // 注意此没有name属性,不会提交
    <input type='hidden' name='pwd' id='md5_pwd' value=''/> // 此有name属性,会被form表单提交
    <button type='submit'>提交<button/>
</form>
// 2.js
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;
}

2. formData 提交

// 1. html
<form id="photoForm">
     <input id="photoInput" type="file" title="图片上传" accept=".jpg,.jpeg,image/jpg,image/jpeg" name="myfiles" multiple="multiple">照片导入
</form>

// 2. js
$('#photoForm input').change(function() {
    var photoForm = $('#photoForm')[0],
    photoFormData = new FormData(photoForm),
    photoFileList = $('#photoInput')[0].files; // 上传的文件列表
    $('.loading').show();
    $.ajax({
        type: 'POST',
        url: ZD.url+"/cert/filesUpload",
        data: photoFormData,
        // 告诉jQuery不要去处理发送的数据
        processData : false,
        // 告诉jQuery不要去设置Content-Type请求头
        contentType : false,
        complete:function(){
           $('.loading').hide();
           $("#photoForm input").val('');
        },
        success:function(d){
            // 成功。。
       }
     });
});

3. 动态添加表单提交, js方式提交

1. 动态追加的form表单

var exportForm = $('<form action="'+ajaxUrl+'" method="post">\
    <input type="hidden" name="beginDate" value="'+$(".beginDate").val()+'"/>\
    </form>');     
  $(document.body).append(exportForm);
   exportForm.submit(); // 表单提交
   exportForm.remove();

2. 静态form表单,js方式提交

// 1. html
<form action="'+ajaxUrl+'" method="post">
    <input type="hidden" name="beginDate" value="'+$(".beginDate").val()+'"/>
</form>
  
// 2. js/JQuery
document.getElementById("form").submit(); // js写法
$("#form").submit(); // jquery写法
posted @ 2019-10-04 18:24  Zero_追梦  阅读(23793)  评论(0编辑  收藏  举报