Флажок показать ошибку - PullRequest
       6

Флажок показать ошибку

0 голосов
/ 23 апреля 2010

Мне нужно, чтобы это показывало ошибку, если пользователь пытается покинуть страницу, не устанавливая этот флажок.У него нет другого использования, кроме визуального, есть ли способ реализовать такую ​​вещь?

<span>
        <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>

Прикрепленный CSS предназначен только для стилизации, нет смысла публиковать его.

Я пробовал:

{literal}
            <script type="text/javascript">
if ($("#checkbox2").val()==1){
  alert('Please accept the terms of sale');
  //or you can use other method of showing the error. lightbox? showing error msg on a span, etc.
}

</script>
  {/literal}

Введен в разметку непосредственно перед флажком, но он не хочет работать.

ОБНОВЛЕНИЕ :

В дополнение к приведенным ответам, вот форма отправки кода ..

{form action="controller=checkout action=payOffline query=id=$method" handle=$offlineForms[$method] method="POST"}
        {include file="block/eav/fields.tpl" fieldList=$offlineVars[$method].specFieldList}
        <div id="handel_fortsett_btns">

        <p class="submit">




    <a href="{link route=$return}" class="continueShopping" title="Fortsett å handle"><span><span><span><span>&nbsp;</span></span></span></span></a>

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

    </div>


    {/form}

Спасибо.

Ответы [ 2 ]

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

[«Сальг о рычагах», «Шведский? Норвежский?» - это принятие условий и положений.]

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

Чтобы выполнить проверку формы на стороне клиента, вам нужно использовать JS, чтобы переопределить действие кнопки отправки, проверить данные (как демонстрирует melaos, хотя jQuery не нужен) и отобразить комментарии рядом с каждым элементом формы. На самом деле немного боли. Вы также должны повторно проверить все это на стороне сервера в случае, если JS случайно (или нет) отключен.

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

Да. используйте jquery .

$(document).ready(function() {    

//this should capture your submit button click event and the return false will stop the submission.
$("#fullfor_btn").click(function(){
    if ($("#checkbox2").val()==1){
      alert('your error msg');
      //or you can use other method of showing the error. lightbox? showing error msg on a span, etc.
      return false; //or use other method to stop your form from submitting.
    }
});

)};

и вот немного учебника , с которого можно начать , не беспокойтесь, если сначала не знаете, что использовать. просто изучите селектор и медленно продвигайтесь вверх. это будет выгодное вложение:)

а как вы сейчас отправляете форму? если это просто кнопка отправки, вы можете использовать jquery, чтобы добавить событие click к кнопке отправки и вернуть false, если вы не хотите, чтобы кнопка отправлялась.

...