我想在我的项目中进行客户端验证。这里的要求是,如果用户提交了空白表单或者他没有输入任何一个输入字段,那么应该生成正常的 html 列表。在该列表下,所有输入字段都应该来自有错误的人。不仅是输入字段,还应该是该输入字段的链接。一旦链接进入该列表,那么用户应该能够单击该链接。单击该链接后,他的焦点应该设置在文本字段上。在这里我可以正确创建链接,但我无法设置焦点。所以这里是我的咖啡脚本:
$(document).ready ->
# first fetch all input field who have errors.
errorElements = $('.content').find('.help-inline').prev()
ul = $('<ul id="errorlist"></ul>')
errorElements.each (i) ->
span = $(this).next()
labelText = $(this).parent().parent().find('label')
$(' <li> <a href="#' + $(this).attr('id') + '" class="errorlink" >' + labelText.text() + ' ' + '(' + span.text() + ')' + '</a></li>').appendTo(ul)
$('#errorcontainer').html(ul)
$(".errorlink").bind "click", (e) ->
# first I am checking it is binding or not.
alert('hello')
$(this).attr(‘href’).setFocus()
我正在为我的 html 使用 simple_form。所以它像这样为我生成html:
<div class=' content '>
<form accept-charset="
UTF-8 " action=" /levels/basic-computer/topics" class=" simple_form form-horizontal " enctype=" multipart/form-data " id=" new_topic " method=" post " novalidate=" novalidate ">
<div style=" margin:0;padding:0;display:inline ">
<div class=' form-inputs'>
<div class=" control-group string required topic_title error ">
<label class=" string required control-label " for=" topic_title ">
<abbr title=" required ">
*
</abbr>
Title
</label>
<div class=" controls ">
<input class=" string required " id=" topic_title " name=" topic[title] " size=" 50 " type=" text " value="" />
<span class=" help-inline ">
can't be blank
</span>
</div>
</div>
我在这里错了什么?