复选框显示错误

时间:2010-04-23 09:36:55

标签: php javascript html checkbox smarty

如果用户试图离开页面而不检查此复选框,我需要将此节目设置为错误。除了视觉之外没有其他用途,有没有办法实现这样的事情?

<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 个答案:

答案 0 :(得分:1)

是。使用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.
    }
});

)};

这里有点tutorial to get you started,如果你不知道首先要使用什么,请不要担心。只是学习选择器,然后慢慢上升。这将是一项值得的投资:)

你现在如何提交表格? 如果它只是一个提交按钮,你可以使用jquery将click事件添加到提交按钮,并在你不希望按钮提交时返回false。

答案 1 :(得分:1)

[“Salgs ogleveringsvilkårlelest og akseptert”(瑞典语?挪威语?)是关于接受条款和条件。]

我希望它不仅仅是为了展示。您还需要检查服务器端用户是否已接受您的条款。

要进行客户端表单检查,您需要使用JS覆盖提交按钮的操作,检查数据(如melaos演示,虽然不需要jQuery),并在每个表单元素旁边显示注释。真的有点痛。如果意外(或没有)禁用JS,你必须在服务器端重新验证它。