所有点击都会发布JQuery表单

时间:2014-05-14 18:22:18

标签: jquery forms

嗯,这是初学者的问题 - 每次点击选项或删除按钮,它都会发布数据。我怎样才能防止它发生?这是我的表单和JQuery代码。

<form method="post" id="saveForm" action="" enctype="multipart/form-data">
        <p>
            <select id="select" name="lang">
                <option> </option>
                <option>one</option>
                <option>two</option>
            </select>
            <label>Category Name</label>
            <input id="inputVal" type="text" name="category" />
            <br/>

        </p>
        <p>
            <button  type="button" class="add" >
                Add fields
            </button>

            <button type="button" class="remove">
                Remove
            </button>
            <input type="submit" value="Submit!" />
        </p>

        <label>Image:</label>
        <input type="file" id="image" name="picture" accept="image/*">
    </form>

这是我的提交功能。我也有.add和.remove按钮的功能。

$(document).ready(function() {
        $('#saveForm').click(function(e) {

            e.preventDefault();

            var obj = $("#saveForm").serializeObject();
            obj = JSON.stringify(obj);
            alert(obj);
            /*
            $.ajax({
                                type : "POST",
                                url : "@routes.UploadController.uploadView()",
                                contentType : "application/json; charset=utf-8",
                                data : obj,
                                success : function(data) {
                                    alert(data);

                                },
                                error : function(data) {
                                    alert("Oops Something Went Wrong " + data);

                                }
                            });
            */

        });
    });

1 个答案:

答案 0 :(得分:4)

变化:

 $('#saveForm').click(function(e) {

要:

 $('#saveForm').submit(function(e) {

每次点击form中的任何位置时,只有submit(),只有在您提交表单时才会提交处理程序。