【发布时间】:2016-10-12 23:52:34
【问题描述】:
我以前从未使用过 Ajax,但从研究和其他帖子来看,它看起来应该能够运行表单提交代码而无需重新加载页面,但它似乎不起作用。
它只是重定向到 ajax_submit.php,就好像 js 文件不存在一样。我试图使用 Ajax 在不重新加载任何内容的情况下访问 ajax_submit。
我正在尝试做的事情可能吗?
HTML 表单:
<form class="ajax_form" action="ajax_submit.php" method="post">
<input class="input" id="license" type="text" name="license" placeholder="License" value="<?php echo htmlentities($person['license1']); ?>" />
<input class="input" id="license_number" type="text" name="license_number" placeholder="License number" value="<?php echo htmlentities($person['license_number1']); ?>" />
<input type="submit" class="form_button" name="submit_license1" value="Save"/>
<input type="submit" class="form_button" name="clear1" value="Clear"/>
</form>
在 scripts.js 文件中:
$(document).ready(function(){
$('.ajax_form').submit(function (event) {
alert('ok');
event.preventDefault();
var form = $(this);
$.ajax({
type: "POST",
url: "ajax_submit.php",//form.attr('action'),
data: form.serialize(),
success: function (data) {alert('ok');}
});
});
});
在 ajax_submit.php 中:
require_once("functions.php");
require_once("session.php");
include("open_db.php");
if(isset($_POST["submit_license1"])){
//query to insert
}elseif(isset($_POST['clear1'])) {
//query to delete
}
我有“<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>”
在html头中
【问题讨论】:
-
好的开始调试。在准备好的里面添加console.log 行。它会被触发吗?接下来,
console.log($('.ajax_form').length);返回什么? -
代码看起来不错,打开你的控制台并检查错误。
-
form.serialize()不包含任何按钮。它不知道您点击了哪个按钮来提交表单。
标签: javascript jquery ajax forms submit