我正在使用一些 CoffeeScript 函数在表单中执行验证,以确保选择了内容或填写了输入内容。单击提交按钮时,我再次运行这些函数。如果功能都为真,则表单可以提交。如果一个是假的,我会打电话event.preventDefault()
给它。然而,当我点击提交按钮时,我的页面仍然会重新加载。就好像函数没有返回真或假一样。
这是我的 CoffeeScript 函数之一:
checkHSGradYearSelect = ->
valid = false
hs_present = $("#profile_high_school").val() isnt ""
hs_grad_year_empty = $("#profile_hs_grad_year_1i").val() is ""
if hs_present and hs_grad_year_empty
$("#hs_grad label.message").text("High School Grad Year can't be blank")
else
$("#hs_grad label.message").text("")
valid = true
return valid
我还有两个非常相似的。
这是我的点击功能:
$("form.edit_profile input[type='submit']").click (event) ->
bday_valid = $ checkBirthdaySelects
hs_valid = $ checkHSGradYearSelect
highered_valid = $ checkCollegeGradYearSelect
if !bday_valid or !hs_valid or !highered_valid
event.preventDefault()
有人可以帮我弄清楚我做错了什么吗?
更新:如果我登录bday_valid
或者我得到hs_valid
highered_valid
[document, context: document, constructor: function, init: function, selector: "", jquery: "1.8.3"…]