我正在使用一些CoffeeScript函数在表单中执行验证,以确保选择的内容或输入填充。当单击提交按钮时,我再次运行这些函数。如果函数都是真的,表单可以提交。如果一个是假的,我会打电话给event.preventDefault()
。然而,使用代码我点击提交按钮时页面仍然重新加载。这几乎就像函数没有返回true或false。
这是我的一个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"…]
答案 0 :(得分:2)
删除$ s并在函数调用中添加括号:
bday_valid = checkBirthdaySelects()
hs_valid = checkHSGradYearSelect()
highered_valid = checkCollegeGradYearSelect()