每次输入3个参数,然后点击提交,我都会收到"name=&startDate=&endDate="
的提醒。单击“提交”后,它不会更新$('#request')
。有谁看到我可能会出错?
这是我的HTML:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="match.js"></script>
<script src="Chart.js"></script>
</head>
<body>
<form id="request" onsubmit="match.js">
<label>Name <input type="text" name="name" id="name" ></label>
<label>Start Date <input type="date" name="startDate" id="startDate" ></label>
<label>End Date <input type="date" name="endDate" id="endDate" ></label>
<input type="submit" value="Submit">
</form>
</body>
</html>
我的Javascript:
$(function(){
$(function(e){
$.ajax({
url: 'match_api.php',
type: 'post',
data: $('#request').serialize(),
dataType: 'json',
success: function(data) {
alert($('#request').serialize());
});
e.preventDefault();
});
});
答案 0 :(得分:3)
这是你的HTML:
<body>
<form id="request" onsubmit="match()">
<label>Name <input type="text" name="name" id="name" ></label>
<label>Start Date <input type="date" name="startDate" id="startDate" ></label>
<label>End Date <input type="date" name="endDate" id="endDate" ></label>
<input type="submit" value="Submit">
</form>
</body>
</html>
和你的Javascript:
function match(){
$.ajax({
url: 'match_api.php',
type: 'post',
data: $('#request').serialize(),
dataType: 'json',
success: function(data) {
alert($('#request').serialize());
});
e.preventDefault();
};
答案 1 :(得分:1)
我不确定你在哪里学到了这个
onsubmit="match.js"
除了导致JavaScript错误之外什么都不做。它没有神奇地将JS文件绑定到函数。
如果要附加到提交事件,则需要执行
$(function(){
$("#request").on("submit", function(e){
$.ajax({
url: 'match_api.php',
type: 'post',
data: $('#request').serialize(),
dataType: 'json',
success: function(data) {
alert($('#request').serialize());
});
e.preventDefault();
});
});
,HTML就是
<form id="request">