Оптимизировать JS код, выполнить JS после валидации с перезагрузкой
Помогите пожалуйста разобраться с JS, лучше с подробными коментами. Заранее благодарен.
- Оптимизировать код
- Заполняю данные формы, выбираю в select value=3, меняется форма (некоторые input скрываются), нажимаю кнопку отправить, данные отправляются на валидацию и страница перезагружается. Т.к валидация не прошла, меня перебрасывает обратно на страницу с сохранением всех данных. Проблема в select, данные пришли value=3 а JS код не отработал и форма для value=3 отобразилась не правильная. Как решить эту проблему
<select name="lg_type_organization" class="js_type_organization">
<option value="0">Не указал</option>
<option value="1">ООО</option>
<option value="2" selected="">ЗАО</option>
<option value="3">ИП</option>
<option value="4">Сомозанятый</option>
</select>
<table id="d_n" class="w100 info1" style="display: none">
<tbody>
<tr>
<td id="ogrn_ogrnip">ОГРН</td>
<td><input type="text"></td>
</tr>
<tr>
<td id="name_organization">Название организации "как в учредительных документах"</td>
<td><input type="text"></td>
</tr>
<tr id="address_legal">
<td>Юридический адрес</td>
<td><input type="text"></td>
</tr>
<tr>
<td>Фактический адрес</td>
<td><input type="text"></td>
</tr>
</tbody>
</table>
$(function(){
$('.js_type_organization').on('change', function() {
var type = this.value;
switch (type) {
case '0':
$('#d_n').css('display','none');
break;
case '1':
$('#ogrn_ogrnip').text('ОГРН');
$('#name_organization').text('Название организации "как в учредительных документах"');
$('#address_legal').css('display','');
$('#d_n').css('display','');
break;
case '2':
$('#ogrn_ogrnip').text('ОГРН');
$('#name_organization').text('Название организации "как в учредительных документах"');
$('#address_legal').css('display','');
$('#d_n').css('display','');
break;
case '3':
$('#ogrn_ogrnip').text('ОГРНИП');
$('#name_organization').text('Данные предпринимателя "как в учредительных документах"');
$('#address_legal').css('display','');
break;
case '4':
$('#ogrn_ogrnip').text('ОГРНИП');
$('#name_organization').text('Данные предпринимателя "как в учредительных документах"');
$('#address_legal').css('display','none');
$('#d_n').css('display','');
break;
}
});
});
Ответы (1 шт):
Автор решения: Евгений Платов
→ Ссылка
бросайте событие вручную
$('.js_type_organization').change();
если целиком перегружаете страницу то после блока
$('.js_type_organization').on('change', function() {
если аяксом то после отрисовки формы