Отправьте форму на PHP с именем кнопки после отключения кнопки отправки формы JQuery - PullRequest
0 голосов
/ 15 марта 2020

У меня есть форма, которая использует php для обработки формы. Я не пользователь, чтобы отправить форму дважды. Я пытался использовать jquery, чтобы отключить форму при отправке. но проблема в том, что она отключает кнопку, но не отправляет форму на php.

. Я хочу обнаружить отправку формы с именем кнопки отправки.

$('form').submit(function(){
    $(this).find('button[type=submit]').prop('disabled', true);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="signup.php" method="post" class="form-horizontal m-t-30" novalidate>

    <div class="form-group">
        <div class="col-12">
            <label for="username">Username</label>
            <input type="text" name="username" placeholder="Choose a Username" maxlength="15" id="username" class="form-control" required>
            <div class="form-errors <?php echo isset($errors['username']) ? 'filled' : ''; ?>"><?php echo $errors['username'] ?? ''; ?></div>
        </div>
    </div>

    <div class="form-group">
        <div class="col-12">
            <label for="email">Email</label>
            <input type="email" name="email" placeholder="Enter your Email address" id="email" class="form-control" required>
            <div class="form-errors <?php echo isset($errors['email']) ? 'filled' : ''; ?>"><?php echo $errors['email'] ?? ''; ?></div>
        </div>
    </div>                            

    <div class="form-group">
        <div class="col-12">
            <label for="password">Password</label>
            <input type="password" name="password" placeholder="Enter password" id="password" class="form-control" required>
            <div class="form-errors <?php echo isset($errors['password']) ? 'filled' : ''; ?>"><?php echo $errors['password'] ?? ''; ?></div>
        </div>
    </div>

    <div class="form-group">
        <div class="col-12">
            <p class="font-12">By registering you agree to the Pawnhost Terms of Use</p>
        </div>
    </div>

    <div class="form-group text-center m-t-20">
        <div class="col-12">
            <button type="submit" name="signup-submit" id="btnSubmit" class="btn btn-block btn-primary w-md waves-effect waves-light">
                <span id="btnLoading" class="spinner-border spinner-border-sm" role="status" aria-hidden="true" style="display: none;"></span>
                <span id="btnText">Create My Account</span>
            </button>
        </div>
    </div>

    <div class="form-group row m-b-0 mt-4">
        <div class="col-12 text-center">
            <a href="login.php" class="text-muted">Already have an account? Login</a>
        </div>                              
    </div>
</form>

1 Ответ

1 голос
/ 15 марта 2020

Вы должны установить атрибут, а не свойство.

$('form').on('submit', function(event){ $(this).find('button[type=submit]').attr('disabled', 'disabled'); });

OP также хотел включить кнопку в отправку формы. Этого можно добиться, используя вместо кнопки кнопку ввода тега.

<input type="submit" name="mybtn" value="myval" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...