2016-10-06 1 views
0

В настоящее время происходит то, что на основе пользовательского выбора предпочтительного способа связи с радиокнопками появляется красная звезда, например, если они выбирают предпочтительный способ связи, это значение. ТелефонНо красная звезда показывает рядом «Введите номер телефона» и «Введите номер телефона», подтвердить номер телефона нет ", иначе это будет скрыто, когда они выберут другую радиокнопку, т.е. предпочтительным способом связи является электронная почта. Однако проблема заключается в том, что если они, например, выбрали TelephoneNo, появляется красная звезда рядом с «Введите номер телефона» и «подтвердить номер телефона нет», и если я введу текст в поле «Введите свой номер телефона» и оставьте поле подтверждения пустым и нажмите submit на форме, где исчезают красные звезды. Я хочу, чтобы эти красные старты отображались, я думаю, что я должен снова вызвать эту функцию, пожалуйста, советую?Сохранять загрузку страницы с красной звездой?

$('.communicationCB input[name=CCommmunication]').click(function() { //.communication class passed input name == model public communication 
     if ($(this).val() == "TelephoneNo") { //if value TelephoneNo selected in model 
      $('.confirmmobtelno').show(); //show this text box 
      $('.redstar').show(); //shows red star when Mobile option is selected 
     } else { 
      $('.confirmmobtelno').hide(); //hide textbox 
      $('.redstar').hide(); //Hides red star 
     } 

     if ($(this).val() == "TelephoneNoAlternative") { //if value == to TelephoneNoalternative 
      $('.confirmalttelno').show(); //show confirm alt tel no text box 
      $('.redstaralttel').show(); //shows red star when Alt telephone option is selected 
     } else { 
      $('.confirmalttelno').hide(); //else hide it 
      $('.redstaralttel').hide(); //Hides red star 

     } 

    }); 
+1

Вы хотите сохранить это на перезагрузки страницы? если да, вы должны хранить данные в 'localStorage' –

+0

, можете ли вы также показать свою функцию« отправить ». Также важно ли вы разрешить пользователю отправлять форму с пустым полем подтверждения или вы хотите прекратить отправку, если поля недействительны? –

ответ

0

Без просмотра полного кода это предположение. Но я все равно даю ему попробовать.

Написанная функция связывается с функцией щелчка. Таким образом, он срабатывает только при нажатии на элемент. После отправки формы вы хотите увидеть (при загрузке страницы), если звезды должны быть показаны или нет.

Так добавить OnLoad функцию:

$(function() { 
    if ($('.communicationCB input[name=CCommmunication]').val() == "TelephoneNo") { //if value TelephoneNo selected in model 
     $('.confirmmobtelno').show(); //show this text box 
     $('.redstar').show(); //shows red star when Mobile option is selected 
    } else { 
     $('.confirmmobtelno').hide(); //hide textbox 
     $('.redstar').hide(); //Hides red star 
    } 

    if ($('.communicationCB input[name=CCommmunication]').val() == "TelephoneNoAlternative") { //if value == to TelephoneNoalternative 
     $('.confirmalttelno').show(); //show confirm alt tel no text box 
     $('.redstaralttel').show(); //shows red star when Alt telephone option is selected 
    } else { 
     $('.confirmalttelno').hide(); //else hide it 
     $('.redstaralttel').hide(); //Hides red star 

    } 

}); 

Или еще лучше, сочетать оба:

function checkComm() { 
    if ($('.communicationCB input[name=CCommmunication]').val() == "TelephoneNo") { //if value TelephoneNo selected in model 
     $('.confirmmobtelno').show(); //show this text box 
     $('.redstar').show(); //shows red star when Mobile option is selected 
    } else { 
     $('.confirmmobtelno').hide(); //hide textbox 
     $('.redstar').hide(); //Hides red star 
    } 

    if ($('.communicationCB input[name=CCommmunication]').val() == "TelephoneNoAlternative") { //if value == to TelephoneNoalternative 
     $('.confirmalttelno').show(); //show confirm alt tel no text box 
     $('.redstaralttel').show(); //shows red star when Alt telephone option is selected 
    } else { 
     $('.confirmalttelno').hide(); //else hide it 
     $('.redstaralttel').hide(); //Hides red star 

    } 
}; 
$(function() { checkComm(); }); 
$('.communicationCB input[name=CCommmunication]').click(function() { checkComm(); }); 
Смежные вопросы