0
$(document).ready(function() {

$("#msform").submit(function(e){
    e.preventDefault();

    $("#editjeeinde").hide();
    $("#loading").show();

    $('#msform').ajaxForm(function() {
        $("#loading").hide();
        $("#done").show();
    });
});
});

它只是没有将我的表单提交到 php 页面,如我的 html 表单所示:

<form id="msform" action="sent.php" method="post" enctype="multipart/form-data">

我的提交按钮以及表单发送后显示的加载 div 和完成 div:

    <input type="submit" name="submit" class="submit action-button" value="Verzenden" id="submit" />
    </div>
    <div id="loading">
    <p>Bezig met verzenden...<br /><img src="loader.gif" /></p>
    </div>
    <div id="done">
    <p>Uw aanvraag is succesvol ingediend. Wij zullen deze binnen 1-2 weken verwerken en u hiervan op de hoogte brengen.</p>
    </div>

它只是不断加载...有人看到问题了吗?

4

2 回答 2

1

我猜你正在使用 jQuery 表单插件。根据其文档,此代码:

$('#msform').ajaxForm(function() {
    // your options
});

应该放在你的submit函数之外,例如之前。另外,您不会在代码中提交表单。您应该在提交功能中使用此功能: $(this).ajaxSubmit();

所以最后,它应该是这样的:

$(document).ready(function() {
    $('#msform').ajaxForm({
        // Callback called before the form loading.
        beforeSubmit: function() {
            $("#editjeeinde").hide();
            $("#loading").show();
        },
        // Success callback of your form.
        success: function() {
            $("#loading").hide();
            $("#done").show();
        }
    });

    // Change your submit function to load asynchronously your content.
    $('#myFormId').submit(function() {
        $(this).ajaxSubmit();
        return false;
    });
}
于 2013-10-14T09:02:59.517 回答
0

刚刚自己找到了答案。您不能将该 .submit功能与Form插件一起使用。所以我把它改成:

$("#msform").on("submit",function(e){
    e.preventDefault();

    $("#editjeeinde").hide();
    $("#loading").show();

    $("#msform").ajaxSubmit(function() {
        $("#loading").hide();
        $("#done").show();
    });
});

它就像一个魅力。

于 2013-10-14T08:49:42.797 回答