Страница регистрации Ajax Bitrix

Шаблон компонента находится по адресу components/bitrix/main.register/.default/template.php. Добавил jquery обработчик формы, который проверял поля и блокировал отправку формы. Однако после сохранения файла страница регистрации начала вести себя непредсказуемо: сначала скрипты шаблона начали выводиться в формате текста, затем после того, как я вернул изначальный код, текст перестал попадать в поля. Как с этим работать и что можно сделать?

<div id="reg-area">
    <div class="modal-content uk-text-center">
       <div class="bx-auth col-md-12">

#PHP0001#


<div class="bx-auth-reg">
<div class="bitrix-main-register">


<p style="font-size: 24px;"> #PHP0002# </p>


#PHP0003#

<p>#PHP0004#</p>

#PHP0005#
#PHP0006#
<p>#PHP0007#</p>
#PHP0008#

#PHP0009#

<form method="post" action="#PHP0010#" name="regform" autocomplete="off">
#PHP0011#
    <input type="hidden" name="backurl" value="#PHP0012#" />
#PHP0013#
<input type="hidden" name="SIGNED_DATA" value="#PHP0014#" />
<table>
    <tbody>
        <tr>
            <td>#PHP0015#<span class="starrequired">*</span></td>
            <td><input size="30" type="text" name="SMS_CODE" value="#PHP0016#" autocomplete="off" /></td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td></td>
            <td><input type="submit" name="code_submit_button" value="#PHP0017#" /></td>
        </tr>
    </tfoot>
</table>
</form>

<script>
new BX.PhoneAuth({
    containerId: 'bx_register_resend',
    errorContainerId: 'bx_register_error',
    interval: #PHP0018#,
    data: #PHP0019#,
    onError:
        function(response)
        {
            var errorDiv = BX('bx_register_error');
            var errorNode = BX.findChildByClassName(errorDiv, 'errortext');
            errorNode.innerHTML = '';
            for(var i = 0; i < response.errors.length; i++)
            {
                errorNode.innerHTML = errorNode.innerHTML + BX.util.htmlspecialchars(response.errors[i].message) + '<br>';
            }
            errorDiv.style.display = '';
        }
});
</script>

<div id="bx_register_error" style="display:none">#PHP0020#</div>

<div id="bx_register_resend"></div>

#PHP0021#



#PHP0022#


<form method="post" action="#PHP0023#" name="regform" enctype="multipart/form-data" autocomplete="off">
#PHP0024#
    <input type="hidden" name="backurl" value="#PHP0025#" />
    <input type="hidden" name="TYPE" value="REGISTRATION"/>
#PHP0026#

<table>

    <thead>
        <tr>
            <td colspan="2"></td>
        </tr>
    </thead>
    <tbody>

                                    #PHP0027#
                                    <input type="hidden" name="TYPE" value="REGISTRATION"/>
    <span class="Radiofield" id="main_UF_PRIVCOMP"><input type="radio" id="radio-1" value="1" name="UF_PRIVCOMP" checked><label for="radio-1">Частное лицо</label></span>   
    <span class="Radiofield"><input type="radio" id="radio-2"  value="0" name="UF_PRIVCOMP"><label for="radio-2">Компания</label></span>            

#PHP0028#
    #PHP0029#
        <tr>
            <td>#PHP0030##PHP0031#<span class="starrequired">*</span>#PHP0032#</td>
            <td>
                <select name="REGISTER[AUTO_TIME_ZONE]" oncha nge="this.form.elements['REGISTER[TIME_ZONE]'].disabled=(this.value != 'N')">
                    <option value="">#PHP0033#</option>
                    <option value="Y"#PHP0034#>#PHP0035#</option>
                    <option value="N"#PHP0036#>#PHP0037#</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>#PHP0038#</td>
            <td>
                <select name="REGISTER[TIME_ZONE]"#PHP0039#>
        #PHP0040#
                    <option value="#PHP0041#"#PHP0042#>#PHP0043#</option>
        #PHP0044#
                </select>
            </td>
        </tr>
    #PHP0045#
        
        <tr>
            <p>#PHP0046#:#PHP0047#<span class="starrequired">*</span>#PHP0048#</p>
            <div>

        #PHP0049#<input size="30" type="password" name="REGISTER[#PHP0050#]" value="#PHP0051#" autocomplete="off" class="bx-auth-input" />
#PHP0052#
                <span class="bx-auth-secure" id="bx_auth_secure" title="#PHP0053#" style="display:none">
                    <div class="bx-auth-secure-icon"></div>
                </span>
                <noscript>
                <span class="bx-auth-secure" title="#PHP0054#">
                    <div class="bx-auth-secure-icon bx-auth-secure-unlock"></div>
                </span>
                </noscript>
<sc ript type="text/javascript">
document.getElementById('bx_auth_secure').style.display = 'inline-block';
</sc ript>
#PHP0055#
#PHP0056#<input size="30" type="password" name="REGISTER[#PHP0057#]" value="#PHP0058#" autocomplete="off" />#PHP0059#<select name="REGISTER[#PHP0060#]">
                <option value="">#PHP0061#</option>
                <option value="M"#PHP0062#>#PHP0063#</option>
                <option value="F"#PHP0064#>#PHP0065#</option>
            </select>#PHP0066#<select name="REGISTER[#PHP0067#]">#PHP0068#<option value="#PHP0069#"#PHP0070# selected="selected"#PHP0071#>#PHP0072#</option>
            #PHP0073#</select>#PHP0074#<input size="30" type="file" name="REGISTER_FILES_#PHP0075#" />#PHP0076#<textarea cols="30" rows="5" name="REGISTER[#PHP0077#]">#PHP0078#</textarea>#PHP0079#<small>#PHP0080#</small><br />#PHP0081#



#PHP0082#
        <input size="30" type="text" name="REGISTER[#PHP0083#]" value="#PHP0084#" />
#PHP0085#
            #PHP0086##PHP0087#</td>
        </tr>
    #PHP0088#
#PHP0089#
#PHP0090#
#PHP0091#
    <tr><td colspan="2">#PHP0092#</td></tr>
    #PHP0093#
    <tr><td>#PHP0094#:#PHP0095#<span class="starrequired">*</span>#PHP0096#</td><td>
            <?$APPLICATION->IncludeComponent(
    "bitrix:system.field.edit",
    "={\$arUserField[\"USER_TYPE\"][\"USER_TYPE_ID\"]}",
    array(
    "bVarsFromForm" => "",
        "arUserField" => "",
        "form_name" => "regform"
    ),
    "null",
    array("HIDE_ICONS" => "Y")
);?></td></tr>
    #PHP0097#
#PHP0098#
#PHP0099#
#PHP0100#
        <tr>
            <td colspan="2"><b>#PHP0101#</b></td>
        </tr>
        <tr>
            <td></td>
            <td>
                <input type="hidden" name="captcha_sid" value="#PHP0102#" />
                <img src="/bitrix/tools/captcha.php?captcha_sid=#PHP0103#" width="180" height="40" alt="CAPTCHA" />
            </td>
        </tr>
        <tr>
            <td>#PHP0104#:<span class="starrequired">*</span></td>
            <td><input type="text" name="captcha_word" maxlength="50" value="" autocomplete="off" /></td>
        </tr>
    #PHP0105#
    </tbody>
    <tfoot>
        <tr>
            <td><input type="hidden" name="REGISTER[PERSONAL_PHONE]" value="89310000000"></td>
            <td><input type="submit" name="register_submit_button" class="btn btn-green btn-submit" value="#PHP0106#" /></td>
        </tr>
    </tfoot>


        </div>
    </div>
</div>

</table>
</form>
<div style="margin-top: 16px">
    <p><a href="#PHP0107#index.php"><b>#PHP0108#</b></a></p>
</div>

<p>#PHP0109#</p>

#PHP0110#

<p><span class="starrequired">*</span>#PHP0111#</p>

#PHP0112#
</div>
</div>

</div>
    </div>
</div>

<script>    
// Заполнение поля Логин временным значением 
document.querySelector("input[name='REGISTER[LOGIN]']").value = "temp_login!"; 
// Подставляем placeholder'ы в input'ы
document.querySelector('[name="REGISTER[EMAIL]"]').placeholder = 'Введите ваш e-mail';
document.querySelector('[name="REGISTER[PHONE_NUMBER]"]').placeholder = 'Номер мобильного (на него придёт СМС)';
document.querySelector('[name="REGISTER[PASSWORD]"]').placeholder = 'Придумайте пароль от 6 символов с цифрами и буквами разного регистра';
document.querySelector('[name="REGISTER[CONFIRM_PASSWORD]"]').placeholder = 'Продублируйте пароль';
document.querySelector('[name="REGISTER[NAME]"]').placeholder = 'Ваше настоящее Имя';
</script>



<script type="text/javascript">
   $(document).on('ready', function(){
      $('#login-area form').submit(function(){
         var $this = $(this);
         var $form = {
            action: $this.attr('action'),
            post: {'ajax_key':''}
         };
         $.each($('input', $this), function(){
            if ($(this).attr('name').length) {
               $form.post[$(this).attr('name')] = $(this).val();
            }
         });
         $.post($form.action, $form.post, function(data){
            $('input', $this).removeAttr('disabled');
            if (data.type == 'error') {
               alert(data.message);
            } else {
               window.location = window.location;
            }
         }, 'json');
         return false;
      });
   })
</script>

Ответы (0 шт):