JS/Jquery 表单方式提交总结

Posted zero-zm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS/Jquery 表单方式提交总结相关的知识,希望对你有一定的参考价值。

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写法

以上是关于JS/Jquery 表单方式提交总结的主要内容,如果未能解决你的问题,请参考以下文章

jquery 打开新页面 立刻提交表单 target的问题

jquery photoclip 怎么提交

js总结(11)一个页面同时提交多个form表单的实施

jquery 通过ajax 提交表单

检测提交表单内容不能为空JS/jQuery代码(基础)

用SpringMVC和Jquery的Ajax进行异步提交表单