我希望有人可以帮助我一些我一直在积累的jquery脚本。该脚本可以成功地将一些表单数据发布到mysql数据库。
我遇到的问题是我试图实现表单验证,但我无法使验证工作,我怀疑我在某处错误地放置了一个括号。我在这里发布的脚本有效,但表单验证不起作用。非常感谢任何帮助。
$(document).ready(function() {
$("#your_results").hide();
$("#your_data").hide();
$("#submitButtonId").on("click", function(e) {
$('#gauge').empty();
e.preventDefault();
//Validate the input
$(function() {
$("#myform").validate({
});
//Post the form if field has been completed
var formdata = $('#myform').serialize();
$.post('php_includes/insert.php', formdata,
function(data) {
//Reset Form
$('#myform')[0].reset();
fetchRowCount();
});
return false;
});
});
//Fetch data from server
function fetchRowCount() {
$.ajax({
url: 'php_includes/server.php',
dataType: "json",
success: function(data) {
$("#rows").html(data.rows);
$("#min").html(data.min);
$("#max").html(data.max);
$("#mean").html(data.total);
$("#last").html(data.last_entry);
//Show gauge once json is received from server
var gage = new JustGage({
id: "gauge",
value: data.total,
min: data.min,
max: data.max,
title: "Sample Data"
});
$("#your_results").fadeIn("slow");
$("#your_data").fadeIn("slow");
//Scroll to Gauge
$('html, body').animate({
scrollTop: $('#results').offset().top
}, 'slow');
$("#gauge").fadeIn(slow);
}
});
}
});
myForm会
<form class="form-inline" action="" id="myform" form="" method="post">
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="bill_cost"></label>
<div class="col-md-8">
<input id="bill_cost" name="bill_cost" type="text" placeholder="Bill Cost" class="form-control input-lg">
</div>
</div>
<!-- Button -->
<div class="form-group">
<label class="col-md-4 control-label" for="submit1"></label>
<div class="col-md-4">
<input type="submit" id="submitButtonId" name="submit1" class="btn btn-primary btn-xl" value="Submit">
</div>
</div>
</form>
此处显示的结果
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<!-- RESULTS HERE -->
<div id="your_results"></div>
<!-- .GAUGE HERE -->
<div id="gauge" class="300x260px"></div>
答案 0 :(得分:1)
如果您正确缩进代码,问题就会变得明显:
$(function() {
$("#myform").validate({});
//Post the form if field has been completed
var formdata = $('#myform').serialize();
$.post('php_includes/insert.php', formdata,
function(data) {
//Reset Form
$('#myform')[0].reset();
fetchRowCount();
});
return false;
});
你将验证函数包装在$(handler)
中(一个JQuery对象,当传递一个函数时,成为$(document).ready(handler);
的简写。所以你在文档就绪时运行验证而不是在你点击时你的提交按钮。