如果用户试图离开页面而不检查此复选框,我需要将此节目设置为错误。除了视觉之外没有其他用途,有没有办法实现这样的事情?
<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> </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=""> </button>
</p>
</div>
{/form}
感谢。
答案 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,你必须在服务器端重新验证它。