@raisatic155

VUE + JS сброс пароля для учетной записи по ajax не работает?

На сайте есть авторизация с кнопкой "забыли пароль"
сама вёрстка такого вида
<el-form id="forgotEmailForm" v-if="forgotFormAuth == true" :rules="rulesForgot" :model="model" ref="model" style="height: unset" label-width="200px" class="form-login" label-position="top" :status-icon="true">
          <h1 style="margin-bottom: 10px;">Password recovery</h1>
          <el-form-item label="Email" prop="Email">
            <el-input type="text" v-model="model.USER_LOGIN" name="USER_LOGIN"></el-input>
          </el-form-item>
          <el-input style="display: none" v-model="model.USER_EMAIL" type="text" name="USER_EMAIL"></el-input>
          <el-input style="display: none" v-model="model.backurl" type="text" name="backurl"></el-input>
          <el-input style="display: none" v-model="model.AUTH_FORM" type="text" name="AUTH_FORM"></el-input>
          <el-input style="display: none" v-model="model.TYPE" type="text" name="TYPE"></el-input>
          <el-input style="display: none" v-model="model.forgot_password" type="text" name="forgot_password"></el-input>
          <el-input style="display: none" v-model="model.send_account_info" type="text" name="send_account_info"></el-input>
          <el-form-item>
            <div style="display: flex; justify-content: space-between; margin-top: 15px;">
              <el-button style="padding: 12px 0; width: 140px;" type="primary" @click="loginFormAuthClick()">Back</el-button>
              <el-button style="padding: 12px 0; width: 140px;" type="primary" @click="submitFormForgot('model')" :loading="loading">Send</el-button>
            </div>
          </el-form-item>
          <div v-if="message" class="error">{{message}}</div>
        </el-form>


при нажатии на кнопку срабатывает функция отправки submitFormForgot('model') которая делает ajax-редирект на файл с формой отправки ссылки для восстановления пароля.
Сама вёрстка восстановления пароля:
<form name="bform" method="post" target="_top" id="formForgot" action="<?=$arResult["AUTH_URL"]?>">
    <?
    if (strlen($arResult["BACKURL"]) > 0)
    {
        ?>
        <input type="hidden" name="backurl" value="<?=$arResult["BACKURL"]?>" />
        <?
    }
    ?>
    <input type="hidden" name="AUTH_FORM" value="Y">
    <input type="hidden" name="TYPE" value="SEND_PWD">

    <p><?echo GetMessage("sys_forgot_pass_label")?></p>

    <div style="margin-top: 16px">
        <div><b><?=GetMessage("sys_forgot_pass_login1")?></b></div>
        <div>
            <input type="text" name="USER_LOGIN" value="<?=$arResult["LAST_LOGIN"]?>" />
            <input type="hidden" name="USER_EMAIL" />
        </div>
        <div><?echo GetMessage("sys_forgot_pass_note_email")?></div>
    </div>

    <div style="margin-top: 20px">
        <input type="submit" name="send_account_info" value="<?=GetMessage("AUTH_SEND")?>" />
    </div>
</form>


Как правильно сделать так, чтобы форма срабатывала для восстановления пароля?
Логика сейчас такая:
В авторизации нажимают кнопку "восстановить пароль" -> происходит ajax запрос с json параметром e-mail для восстановления -> вызывается файл с формой для восстановления пароля, где через json я получаю введённый email и по идее должен отправлять форму чтобы получить ссылку на почту для восстановления пароля, но форма почему-то не отправляется. Пробовал имитировать клик отправки формы через js, но скрипты как-будто не срабатывают, их тупо нет, пытался даже простой document.write() вызвать, ничего не выдавал.
Что можно придумать?

Сама php форма для восстановления пароля полностью работает, если переходить сразу на страницу где эта форма,
нужно сделать чтобы она работала с шаблона vue посредством ajax
  • Вопрос задан
  • 374 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы