我有一个表单,我只希望人们能够提交,如果它来自json文件中的值列表。 Json文件将是{“1”,“2”,“3”,......}。我一直在尝试搜索,但我无法找到像这样的东西。我觉得这个相对简单但是因为我是jquery / JS的新手,所以从头开始构建它有点棘手。
如果有人有一个好的方向指出我会非常有帮助或一些方便的好 - 甚至更好!
现在我正在尝试从下面破解一些代码,但它似乎并不想做这个技巧。
<script>
$.getJSON("countries.json", function(json) {
$('#signup').on('submit', function(evt) {
var user = $('#user').val(), error;
if (!user)
error = 'no username entered';
else if (json.usernames.indexOf(user) != -1)
error = 'username already taken';
if (error) { evt.preventDefault(); alert(error); }
});
});
</script>
<form id='signup'>
<label>Enter value here</label>
<input type='text' id='user' />
<input type='submit' value='submit' />
</form>
谢谢!我也试图使用bootstraps typeahead,但它决定用我的bootstrap 3.0 css文件分解:|
答案 0 :(得分:1)
您可能需要考虑使用JQuery验证并添加自定义验证程序,验证程序将执行您的Id / usrname检查,如果成功则允许表单提交,否则不会。
在下面的示例中,自定义验证 - 由&#34; usersExistsCheck&#34;提供。功能 - 覆盖您的身份检查,并且所需的验证可确保输入值。
$(document).ready(function(){
$.validator.addMethod("userExistsCheck",
function(value, element) {
// Your test on ids/username in here
},
"Can not submit as the user already exists."
);
$("#signup").validate({
rules: {
user: { //where user is the id of the user input box.
required: true,
userExistsCheck: true
}
},
messages: {
user: {
required: "* Required"
}
}
});
})
改编自此博文: http://randomactsofcoding.blogspot.co.uk/2008/10/starting-with-jquery-how-to-write.html