我正在尝试验证此表单:
<form id="manage-form" data-ajax="false">
<label for="business_Name" >Business Name:</label>
<input type="text" class="required" name="business_Name" id="business_Name" data-mini="true"/>
<input id="submission" type="submit" value="insert"/>
</form>
和这个JAVASCRIPT:
var amandeepdb;
$(document).ready(function(){
amandeepdb = openDatabase('AAFeedbackdb','1.0','AAFeedbackdb','2*1024*1024');
createTable();
insertAAType();
$("#submission").on("click", function (evt){
handleAddForm();
return false;
});
});
function handleAddForm(){
$('#manage-form').validate({
rules: {
business_Name: {
required: true,
rangelength:[2,30]
}
},
messages: {
business_Name: {
required: "required",
rangelength : "between 2 to 30"
}
}
});
}
当我点击插入按钮即不显示消息时,它不会验证。 页面只刷新,不显示消息。
答案 0 :(得分:0)
引用OP:
“页面只刷新,不显示消息。”
它没有验证,因为你没有正确初始化插件。由于您将.validate()
方法放在click
处理程序中,因此在点击后之前不会初始化插件...到那时为时已晚。
您永远不需要在函数中调用.validate()
,单击处理程序等。
// the click handler is not needed - delete this...
//$("#submission").on("click", function (evt){
// handleAddForm();
// return false;
//});
只需将.validate()
放在DOM就绪处理程序中就可以正确初始化插件。然后插件将自动捕获提交按钮的单击。
$(document).ready(function() {
$('#manage-form').validate({ // initializes the plugin
// your rules and options
});
});
将pageinit
用于jQuery Mobile“ready”事件......
$(document).on('pageinit', function(){
$('#manage-form').validate({ // initializes the plugin
// your rules and options
});
});