JQuery Noobie не может сделать флажок показывать предупреждение - PullRequest
1 голос
/ 26 апреля 2010

Я нашел этот ответ раньше, чтобы активировать предупреждение, если кнопка нажата, но флажок не установлен.

Почему это не сработает?

У меня есть это в голове

<script src="http://code.jquery.com/jquery-latest.js"></script>

А это в теле:

<input value="1"  type="checkbox" name="salgsvilkar" ID="checkbox2"  style="float:left;"
       onclick="document.getElementById('scrollwrap').style.cssText='border-color:#85c222; background-color:#E5F7C7;';" /><label for="checkbox2" class="akslabel">Salgs og leveringsvilkår er lest og akseptert</label>
        </span>

         {literal}
            <script type="text/javascript">
$(function() {
   //checkbox
   $("#checkbox2").click(function(){
       //if this...
       //alert("this")...
       if($("#checkbox2").is(':checked'))
       {              
          alert("im checked");
       }
   });
   //button
   $("#fullfor_btn").click(function(e){
       if(!$("#checkbox2").is(':checked'))
       {
           alert("you did not check the agree to terms..."); 
           e.preventDefault();
       }
   });
 }
</script>
  {/literal}

Это по другому .tpl:

<label></label>
        <button type="submit" class="submit" name="{$method}" id="fullfor_btn" title="Fullfør bestillingen nå" value="">&nbsp;</button>

Что может быть не так? JQuery вообще ничего не запускает.

обновление условия идентификатора были изменены на checkbox2, но ничего не происходит.

Ответы [ 4 ]

2 голосов
/ 26 апреля 2010

Попробуйте это:

$(document).ready(function() {
  $("#checkbox2").click(function() {
    if ($(this).attr("checked")) {
      alert("im checked");
    }
  });

  $("#fullfor_btn").click(function(e) {
    if ($("#checkbox2").attr("checked") == false) {
      alert("you did not check the agree to terms..."); 
      e.preventDefault();
    }
  });
});
2 голосов
/ 26 апреля 2010

Ваш флажок имеет идентификатор "checkbox2", но вы пытаетесь получить к нему доступ, используя идентификатор "term" в обработчике кликов для кнопки.

обновление

Вам не хватает закрывающей скобки для вызова $(function(){...}). Это приводит к синтаксической ошибке, когда страница загружается, а код в блоке сценария никогда не запускается. Измените последнюю строку в блоке скрипта с:

}

до:

});

Я проверил код с этим изменением, и он отлично работает.

1 голос
/ 26 апреля 2010

для выдачи предупреждения, если кнопка нажата, но флажок не проверено.

Попробуйте, если вы нажмете, но флажок не отмечен , как вы сказали выше:

 $("#checkbox2").click(function(){
   if($("#checkbox2").is(':checked') == false)
   {              
      alert("im checked");
   }
 });

.

Обновлено на основе комментариев:

Чтобы показать предупреждение, если оно отмечено, вы можете просто сделать следующее:

 $("#checkbox2").click(function(){
   if($("#checkbox2").is(':checked'))
   {              
      alert("im checked");
   }
 });

Также из вашего кода кажется, что вам не хватает ); в конце для:

$(function()
1 голос
/ 26 апреля 2010

В вашем HTML нет элемента с id="terms".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...