php表单的回调消息
我只想知道如何发送“成功”或“错误”的“回调”消息 我对jquery/ajax真的不太了解,但我试着这样做: 我有一个包含一些信息的基本表单,我用POST方法发送了一个“test.php”的信息 我的发送(非输入)具有以下id:#发送”。这是我在index.html中的JSphp表单的回调消息,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我只想知道如何发送“成功”或“错误”的“回调”消息 我对jquery/ajax真的不太了解,但我试着这样做: 我有一个包含一些信息的基本表单,我用POST方法发送了一个“test.php”的信息 我的发送(非输入)具有以下id:#发送”。这是我在index.html中的JS $(document).ready(function() { $("#send").click(function(e) { e.preventDefault();
$(document).ready(function() {
$("#send").click(function(e) {
e.preventDefault();
$(".message").load('teste.php');
});
});
在我的PHP(test.PHP)中,有以下内容:
<?php
$name = $_POST['name'];
if($name == "Test")
{
echo "Success!";
}
else{
echo "Error :(";
}
?>
单击按钮时,消息始终为:
注意:未定义索引:第3行的/Applications/XAMPP/xamppfiles/htdocs/sites/port/public/test.php中的名称
错误:(
帮助:“(问题是您没有使用我的Javascript代码将名称数据传递给PHP。 理解中的问题请回复
$(document).ready(function() {
$(document).on('click','#send',function(e)
{
var params={};
params.name="Your Name ";
$.post('test.php',params,function(response)
{
e.preventDefault();
alert(response); //Alert Response
$(".message").html(response); //Load Response in message class div span or anywhere
});
});
});
这是您的新JS:
$(document).ready(function()
{
$("#send").click(function(e) {
e.preventDefault();
var form_data = $("#my_form").serialize();
$.post('teste.php', form_data, function(data){
$(".message").empty().append(data);
});
});
});
这是您的新HTML:
<form id="my_form">
<input type="text" name="name" value="" />
<input type="button" id="send" value="Send" />
</form>
这有点复杂,因为您可以在项目中更普遍地使用它。只需为要使用的每个表单添加一个新的回调函数即可
<form method="POST" action="test.php" id="nameForm">
<input name="name">
<input type="submit">
</form>
<script>
// wrap everything in an anonymous function
// as not to pollute the global namespace
(function($){
// document ready
$(function(){
$('#nameForm').on('submit', {callback: nameFormCallback },submitForm);
});
// specific code to your form
var nameFormCallback = function(data) {
alert(data);
};
// general form submit function
var submitForm = function(event) {
event.preventDefault();
event.stopPropagation();
var data = $(event.target).serialize();
// you could validate your form here
// post the form data to your form action
$.ajax({
url : event.target.action,
type: 'POST',
data: data,
success: function(data){
event.data.callback(data);
}
});
};
}(jQuery));
</script>
//将所有内容包装在匿名函数中
//以避免污染全局命名空间
(函数($){
//文件准备就绪
$(函数(){
$('#nameForm')。on('submit',{callback:nameFormCallback},submitForm);
});
//表单的特定代码
var nameFormCallback=函数(数据){
警报(数据);
};
//通用表单提交功能
var submitForm=函数(事件){
event.preventDefault();
event.stopPropagation();
var data=$(event.target).serialize();
//您可以在这里验证您的表单
//将表单数据发布到表单操作
$.ajax({
url:event.target.action,
键入:“POST”,
数据:数据,
成功:功能(数据){
事件.data.callback(数据);
}
});
};
}(jQuery));
您的请求中没有发送表单数据。请查看如何发布表单数据。这可能是Wow的副本!这就是我需要的。谢谢,伙计。另一个问题:有没有办法在这个过程中放置动画(加载)?@user3513330是的,只需使用一些ID制作一个div并在其中放置一个图像。然后在执行类似的操作之前进行显示$(“#div_id”).show();最后将其隐藏为$(“#div_id”).hide();谢谢。嗯,不幸的是,默认值“规避”了html5的“必需”形式,对吗?