0

我在这里面临一个非常奇怪的问题。我将引导程序用于我的一些工具提示警报等。现在我有一个 ajax 表单,如果出现问题,它会在警报中响应错误消息。这一切都很好,但是当我单击警报框的“关闭”按钮时,警报消失了,但是表单提交按钮不再起作用了?我不知道为什么它的行为是这样的,有人可以帮助我吗?

另外,当我不关闭警报时,当我输入新数据并单击提交时,它会提交。仅在关闭警报表单后不再提交

表单(带有错误 div)

<!-- ERROR BOX -->
<div id="regError" class="alert alert-error" style="margin-right: 20px; display: none;"></div>
<!-- ERROR BOX -->
<form id="registerform" action="ajax/register.php" method="post">
    <fieldset> <span class="help-block"><B>Jou gegevens</B></span>

        <input name="username" class="span4" type="text" value="Gebruikersnaam" onblur="onBlur(this)" onfocus="onFocus(this)" placeholder="Gebruikersnaam">
        <input name="email" class="span4" type="text" value="Email adres" onblur="onBlur(this)" onfocus="onFocus(this)" placeholder="Email adres">
        <input class="span4" type="text" value="Email adres (opnieuw)" onblur="onBlur(this)" onfocus="onFocus(this)" placeholder="Email adres (opnieuw)">
        <input class="span4" type="text" value="Wachtwoord" onblur="onBlur(this)" onfocus="onFocus(this)" placeholder="wachtwoord">
    </fieldset>

  <button type="submit" class="btn btn-primary" >Save changes</button>
  <button type="button" class="btn">Cancel</button>

javascript ajax 调用

$(document).ready(function () {
    $("#registerform").submit(function () {

        //Get al form data This = form and EL is element of the form
        var el = $(this),

            // get form action and method attribute
            url = el.attr('action'),
            type = el.attr('method'),

            // emty data array to fill with form data
            data = {}

            // The loop to get al form data
        el.find('[name]').each(function (index, value) {

            var el = $(this)
            name = el.attr('name'),
                value = el.val();

            //make data object
            data[name] = value;

        });

        //Do the ajax call
        $.ajax({
            type: type,
            url: url,
            data: data,
            success: function (response) {
                $('#regError').html(response);
                $('#regError').fadeIn();
            }
        })

        return false;
    })
})

PHP只是为了测试它是否有效..

<?php
if (isset($_POST)) {
    echo '<button type="button" class="close" data-dismiss="alert">×</button>';
    print_r($_POST);
}
4

1 回答 1

0

好吧,因为我找不到解决方案,所以我只是删除了关闭按钮。

于 2013-08-15T21:48:00.833 回答