我使用jqueryui自动完成功能允许用户选择他们的位置。我需要确保他们在提交表单之前从自动填充中选择一个位置。我不希望他们在选择价值之前提交表格。
我的解决方案是在提交后确保找到的值在数据库中。另一个解决方案是,当他们点击提交或离开位置框后,转到另一个字段通过ajax提交条目,以确保它有效,如果没有显示错误,不要让他们提交表单。
我想知道我能做些什么更容易,或者是否有更优雅的东西。我意识到他们必须能够在框中输入内容以使自动完成工作,所以我可以强制他们从自动完成中选择一个值,因为它不是一个选择框,所以我的上述解决方案似乎是最好的方式去。
思想?
答案 0 :(得分:3)
在任何情况下,您都需要保留服务器端检查以避免安全性和其他错误。但是,您可以添加客户端验证,以便更加用户友好。
本质上,如果禁用提交按钮并且在提交按钮被禁用时让表单的onsubmit为“return false”,则可以帮助确保用户在您这样做之前不提交 - 通过启用提交按钮表格的价值是有效的。
要在客户端验证表单,因为您已经使用了jquery,您可能需要查看validate plugin for jquery。
答案 1 :(得分:1)
如果用户点击了自动填充条目,我会设置一个标志,如果文本框被修改则清除标记。
答案 2 :(得分:0)
我建议的是,根本不使用提交按钮,而是使用javascript附加点击事件的简单按钮。通过这种方式,当用户点击它时,您可以验证您需要的任何内容并自行提交表单。
除非你真的必须将资源用于最小点,否则我没有看到做出AJAX请求以验证你的某个字段的输入的意义。我这样说是因为,如果你要做AJAX请求验证,你可以简单地发送整个表单并在后端验证,除非是一个非常庞大的形式。