PHP+AAJAX表单提交不起作用
PHP + AJAX Form Submit Not Working
我对AJAX的概念完全陌生,但我发现它是完成我要做的事情所必需的。基本上,每当发布时,我只需要将php变量$submited设置为true,这反过来会对我的数据库运行查询。出于某种原因,尽管这段代码对我来说很有意义,但它似乎并没有进入ajax文件,尽管我收到了"成功"警报,而且我没有控制台错误。有什么明显的错误吗?
<form action="call.php" method="post">
<input class="oomText" type="text" name="accountName" placeholder="Account Name"><br>
<input class="oomButton submit" type="submit" name="submit" value="submit">
<script>
$(document).ready(function(){
$('.oomButton.submit').click(function(){
var clickBtnValue = $(this).val();
var ajaxurl = '/ajax.php',
data = {'action': clickBtnValue};
$.post(ajaxurl, data, function (response) {
alert("Account Created");
});
});
});
</script>
</form>
AJAX.PHP
<?php
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'submit':
submit();
break;
}
}
function submit() {
$submitted = true;
exit;
}
?>
当您设置一个PHP变量时,一旦PHP脚本完成,它就会消失。但是,如果您使用PHP $_SESSION
变量,它将持久存在。
要使用PHP $_SESSION
变量,只需在所有PHP脚本的顶部添加session_start()
即可。注意,session_start()
必须是第一条指令——如果发送了任何其他PHP头,session_start()
将不起作用。
因此,让您的另一个PHP文件也测试$_SESSION['submitted']
变量(同样,顶部需要session_start()
),以确保可以运行DB插入。
HTML/JS:
<form action="call.php" method="post">
<input class="oomText" type="text" name="accountName" placeholder="Account Name"><br>
<input class="oomButton submit" type="submit" name="submit" value="submit">
</form>
<script>
$(document).ready(function(){
$('.oomButton.submit').click(function(){
var clickBtnValue = $(this).val();
var ajaxurl = 'http://clients.oomdo.com/provision/ajax.php',
data = {'action': clickBtnValue};
$.post(ajaxurl, data, function (response) {
alert(response);
});
});
});
</script>
AJAX.PHP
<?php
session_start();
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'submit':
submit();
echo 'Hurrah';
}
}
function submit() {
$_SESSION['submitted'] = true;
}
?>
这是一篇包含一些有用的AJAX初学者信息的帖子——它链接到另一篇包含简单AJAX示例的帖子。试试它们。
使用无显示按钮阻止Jquery Form Submit上的页面加载
尝试这样做:
捕获表单submit并通过Ajax进行POST,并删除表单中的操作,您将指向call.php,因此当您提交表单时,操作将转到call.php。
<form id="form" method="post">
<input class="oomText" type="text" name="accountName" placeholder="Account Name"><br>
<input class="oomButton submit" type="submit" name="submit" value="submit">
<script>
$(document).ready(function(){
$('#form').on('submit', function(e){
var clickBtnValue = $('.oomButton .submit').val();
var ajaxurl = 'http://clients.oomdo.com/provision/ajax.php',
data = {'action': clickBtnValue};
$.post(ajaxurl, data, function (response) {
alert("Account Created");
});
});
});
</script>
</form>
尝试使用下面的代码。
当你成功地正确填写了表单的所有字段并点击提交时,它会提示你js警报。谢天谢地,PHP到js并不总是需要ajax。注意我是如何将js放在php文件中的。我只是从表单调用中运行整个过程。
mail($toaddress, $subject, $message, $headers);
$success=htmlspecialchars($_GET['to']);
$success=ucwords($success);
$valid= 'sent to' . ' ' . $success . ' ' . 'from a php server. Hit the back arrow' ;
echo "<script type='text/javascript'>alert('$valid');</script>";
- 返回 false 不会停止表单提交
- e.preventDefault();不会停止表单提交
- $(id).submit() 不会触发表单提交
- ASP MVC jQuery验证专注于工作,但不专注于表单提交
- 返回false不起作用,单击h:commandButton将触发操作
- 动态创建的文本框不向php表单提交值
- 在JS中返回false,不停止JSP表单提交
- 不能在表单提交上获得选择单选按钮
- $location.path不会更改表单提交后的路线
- 美元.fieldValue不是登录表单提交时的函数警告
- 在尝试将VueJS与SemanticUI集成时,不会阻止表单提交
- Mockjax不拦截异步表单提交
- Safari不读取Jquery表单提交的提交按钮值
- CSS背景图片不会在表单提交后加载
- jquery加载(NBUBNA)不会在表单提交时显示图片
- onFormSubmit触发器不能在表单提交时发送电子邮件
- Safari不会触发表单提交
- 使用时代码不起作用 阻止默认 提交表单
- 为什么代码不起作用(使用 casperjs 提交表单)
- 动画不起作用后单击JQuery