jQuery表单插件,如何只提交可见字段

时间:2014-09-17 09:55:22

标签: php jquery forms jquery-forms-plugin

使用jQuery form plugin,我只想提交表单的可见字段(而不是隐藏字段)。

HTML:

<div class="result"></div>
    <form id="myForm" action="comment.php" method="post"> 
        Name: <input type="text" name="name" /> 
        Comment: <textarea name="comment"></textarea> 

<div style="display:none;">
        <input type="text" value="" name="name_1" /> 
</div>

        <input type="submit" value="Submit Comment" /> 

    </form>

我找不到使用以下任何方法提交可见字段的方法:

给ajaxForm:

// wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind 'myForm' and provide a simple callback function 
            $('#myForm').ajaxForm(function() { 
                alert("Thank you for your comment!"); 
            }); 
        }); 

ajaxSubmit会:

$('#myForm').ajaxSubmit({
      target: '.result',   
      success: function(response) {
        alert("Thank you for your comment!");


      }
    });

还有另一种方法formSerialize但是没有办法将它与上面提到的2种方法一起使用(但可以与$.ajax一起使用)。 如何使用这两种方法中的任何一种只提交可见字段?

1 个答案:

答案 0 :(得分:2)

$("#myForm").on("submit", function() {
        var visibleData = $('#myForm input:visible,textarea:visible,select:visible').fieldSerialize();
        $.post(this.action, visibleData, function(result) {
            alert('Thank you for your comment!');    
        });
        // this is needed to prevent a non-ajax submit
        return false;
});