2015-02-25 5 views
0

У меня есть HTML-форма. Прежде чем пользователь сможет его отправить, они должны согласиться с моей политикой конфиденциальности.Настройка атрибута заголовка для отключенного ввода

Прежде чем принять политику конфиденциальности, кнопка отключена и выглядит так: <input type="submit" value="Invia" class="wpcf7-form-control wpcf7-submit" disabled="disabled">.

Вопрос: как я могу отображать через jquery другое название, основанное на отключенном свойстве? Если кнопка отключена, заголовок должен быть «Пожалуйста, соглашайтесь с нашей политикой конфиденциальности, чтобы продолжить». Если кнопка не отключена, она должна быть «Отправить запрос».

Я пробовал разные подходы, но никто не работает.

Мое предположение было бы что-то вроде:

/* title for disabled submit */ 
    if ($("input.wpcf7-submit").attr('disabled') == "disabled") { 
     $("input.wpcf7-submit").attr("title", "Please agree to our privacy policy to continue"); 
    } 
    else { 
     $("input.wpcf7-submit").attr("title", "Send your request"); 
    } 
+0

Неправильно запускать этот код только один раз - вам нужно его запустить, когда «принятое» состояние политики конфиденциальности изменится. Предполагая, что принятие этого выполняется с помощью флажка, вы должны привязать обработчик событий для события «change» к этому. В этой функции обработчика ознакомьтесь с текущим статусом флажка и соответствующим образом установите заголовок своей кнопки. – CBroe

+0

@ CBroe большое спасибо! Вы дали мне правильный намек, я написал: '/ * название для отключенной кнопки отправки */ $ (" input.Privacy "). Change (function() { if ($ (this) .prop (' checked ") == true) { $ (" input.submitInput "). attr (" title "," Invia la richiesta "); } else { $ (" input.submitInput "). attr (" title "," } }); ' и он отлично работает! –

+0

еще лучше '/ * title для отключенной кнопки отправки */ $ (" input.wpcf7-submit "). Attr (" title "," Пожалуйста, соглашайтесь с нашей политикой конфиденциальности, чтобы продолжить "); $ ("input.Privacy"). Change (function() {if ($ (this) .prop ('checked') == true) {$ ("input.wpcf7-submit"). Attr ("title" , «Отправить ваш запрос»);} else {$ («input.wpcf7-submit»). Attr («название», «Пожалуйста, согласитесь, чтобы наша политика конфиденциальности продолжалась»);}}); ' , потому что по умолчанию prop флажок снят, поэтому я показываю правильный заголовок –

ответ

0

Решение основано на намек, что CBroe дал мне в комментарии к этому вопросу. Я пишу это здесь для удобства каждого.

0

Вы должны использовать prop установить атрибут title:

if ($("input.wpcf7-submit").attr('disabled') == "disabled") { 
    $("input.wpcf7-submit").prop("title", "Please agree to our privacy policy to continue"); 
} 
else { 
    $("input.wpcf7-submit").prop("title", "Send your request"); 
} 

дона «т забудьте обернуть его в $document.ready(function() { ... }).

+0

@EternalHour и @Jorge, я боюсь, что это не сработает.Я пробовал этот подход, а также '$ (" input [disabled] .wpcf7-submit ")' и '$ (" input [disabled = 'disabled']. Wpcf7-submit ")' и '$ ('. Wpcf7 -submit '). is (': disabled ') 'и так много других ... результат всегда« Отправить ваш запрос »для отображения. вы можете увидеть это (на итальянском) в [link] (http://www.il-polistirolo.it/vendita-polistirolo-polistirene/decorazione-architettonica/profili-in-polistirolo-polistirene-espanso-eps/). Оба с 'prop()' и 'attr()'. –

0

В основном это идет как это ...

$(functions() { 
    if($('.wpcf7-submit').is(':disabled')){ 
     $('.wpcf7-submit').attr("title", "Please agree to our privacy policy to continue"); 
    } 
}); 

Вам не нужно else, потому что в противном случае будет отображаться заголовок по умолчанию.

0

Я считаю, что это то, что вам нужно. Вы можете запустить фрагмент для проверки.

$("#accCheck").change(function() { 
 
     // this represents the checkbox that was checked 
 
     // do something with it 
 
     if ($(this).prop("checked")) { 
 
      $("#btnAcc").prop("disabled", false); 
 
      $("#btnAcc").prop("value", "Send your request"); 
 
     } else { 
 
      $("#btnAcc").prop("disabled", true); 
 
      $("#btnAcc").prop("value", "Please agree to our privacy policy to continue"); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" id="accCheck" class="wpcf7-form-control wpcf7-submit">I accept the conditions 
 
<br/> 
 
<input type="submit" id="btnAcc" value="Invia" class="wpcf7-form-control wpcf7-submit" disabled="disabled">

+0

я писал: Я написал: '/ * название для инвалидов кнопка отправки */ $ ("input.Privacy") изменение (функция() { если ($ (это) .prop ('проверено'). == true) { $ ("input.submitInput"). attr ("title", "Invia la richiesta") } else { $ ("input.submitInput"). attr ("title", " «Продолжить», « » }); ' и работает отлично! TY –

+0

Если это работает, вы можете нажать V, чтобы принять мой ответ. –

+0

На самом деле, ваше решение не меняет название; он работает с содержимым кнопки; намек, который CBros дал мне в комментарии к моему вопросу, вместо этого заставил меня решить мою проблему, изменив атрибут title –

Смежные вопросы