2012-04-10 27 views
1

我需要一个复选框,在单击该框后从一个页面移动到另一个页面。由于您已阅读旁边的条款和条件链接,因此该复选框应该是必需的。你如何做一个表单中的强制复选框?

我只有一半知道如何做到这一点,是这样的:

<input type="checkbox" value="confirm_prepay_terms" name="confirm_prepay_terms" align="middle" /> 

使用jQuery:

<script type="text/javascript" language="javascript"> 
$(document).ready(function() { 
     if ($('form#prepay input:checkbox', 'confirm_prepay_terms').is(':checked') { 
       return true; 
     } else { 
      $('#confirm_terms_hint').text('Please try again - you need to check the box to move on'); 
      $('#confirm_terms_hint').css('font-weight', 'strong'); 
      return false; 
     } 
} 
</script> 

此刻虽然,我不能在所有浏览复选框在页面上,所以也许我的HTML不正确?

希望你能帮上忙。

+1

任何jsfiddle到hava看?它似乎没有问题,除了对齐参数。 – pollirrata 2012-04-10 15:30:09

+0

您错过了.ready()的右括号。尝试将'}'变成'});'http://jsfiddle.net/dwRvE/ – RyanS 2012-04-10 15:32:27

回答

3

您的HTML很好 - 会显示一个复选框 - 但没有任何文本。你可以添加一些使用这个标记:

<input type="checkbox" value="confirm_prepay_terms" name="confirm_prepay_terms" align="middle" >​Text here</input>​​​​​​​​​​​​​​​​​​​​​​​ 

在你的JavaScript你缺少一个右)

if ($('form#prepay input:checkbox', 'confirm_prepay_terms').is(':checked') { 

应该

if ($('form#prepay input:checkbox', 'confirm_prepay_terms').is(':checked')) { 

,并在最后一行)

} 
</script> 

应该

}) 
</script> 

,你的选择是不正确

$('form#prepay input:checkbox', 'confirm_prepay_terms') 

应该

$('form#prepay input:checkbox[name=confirm_prepay_terms]') 

它使用multiple attribute selector

$('#confirm_terms_hint').css('font-weight', 'strong'); 

应该

$('#confirm_terms_hint').css('font-weight', 'bold'); 

font-weight没有strong值(see here)......使用bold代替

在脚本

你正在返回truefalse但代码没有被任何东西叫 - 页面完成加载后立即执行。如果您想执行表单验证,请查看jQuery中的.submit()方法。一个例子是这样的:

$(document).ready(function() { 
    $('#prepay').submit(function() { 
     if ($('form#prepay input:checkbox[name=confirm_prepay_terms]')) { 
       return true; 
     } else { 
      $('#confirm_terms_hint').text('Please try again - you need to check the box to move on'); 
      $('#confirm_terms_hint').css('font-weight', 'bold'); 
      return false; 
     } 
    }); 
}); 

这将防止形式从现在提交 - 当您回到false到提交事件。

Fully working example here

+0

非常感谢您的帮助,非常感谢。 – snakespan 2012-04-25 11:23:43

-1

我不认为这是必要的你,只要他们必须接受在使用服务前此条款和条件提供一个复选框。

你可以做下面的事情,无压力的自己。

- Provide a link to the terms and conditions for reading 

    - Notify them that they have automatically accept this terms while proceeding. 
相关问题