在没有页面刷新的情况下发布到PHP?
更新-请帮助!!!它不会离开页面,但不会再发布到SQL SERVER 我一直在关注多个在线论坛的帖子,试图找到答案,但我一直得到同样的答案。我只想发布而不刷新页面。我的代码如下,请告诉我哪里出了问题 下面是AJAX文章部分(在文件中:edit_project_new.php): })) 下面是HTML表格和表单(文件:functions_new.php):在没有页面刷新的情况下发布到PHP?,php,jquery,html,sql,ajax,Php,Jquery,Html,Sql,Ajax,更新-请帮助!!!它不会离开页面,但不会再发布到SQL SERVER 我一直在关注多个在线论坛的帖子,试图找到答案,但我一直得到同样的答案。我只想发布而不刷新页面。我的代码如下,请告诉我哪里出了问题 下面是AJAX文章部分(在文件中:edit_project_new.php): })) 下面是HTML表格和表单(文件:functions_new.php): ... 下面是SQL查询部分(在文件:functions\u new.php中): if((设置($\u GET['action'])和
...
下面是SQL查询部分(在文件:functions\u new.php中):
if((设置($\u GET['action'])和($\u GET['action']==“更新项目”)){
$pname=$_POST['pname'];
$PID=$_POST['PID'];
$p_开始日期=日期($Y/m/d',标准时间($U POST['p_开始日期]);
$con_start_date=date($Y/m/d),strottime($_POST['con_start_date']);
$con_end_date=date($Y/m/d),strottime($_POST['con_end_date']);
$p_end_date=日期($Y/m/d),标准时间($_POST['p_end_date']);
$IDF_room_ready=日期($Y/m/d',标准时间($_POST['IDF_room_ready']);
$AV_安装日期=日期($Y/m/d',标准时间($_POST['AV_安装日期]);
$occulation_date=日期($Y/m/d),标准时间($u POST['occulation_date']);
$sql2=str_replace(“'1969/12/31'”,“NULL”,“更新项目集p_start_date='$p_start_date',con_start_date='$con_start_date',con_end_date='$p_end_date',AV install_date='AV AV_install_date',IDF_room_ready='IDF_room_ready',Occupation_date其中PID=';
if(mysql_查询($sql2)){
echo“项目记录已更新。”;
}否则{
echo“Error:“.sql2.”
“.mysql\u Error($link);
}
}
每当我发帖时,它都会加载一个新页面,只显示“项目记录已更新”。我感觉我很接近,但我做错了一点,因此如果有人能引导我正确的方向,我将不胜感激。默认情况下,不会触发点击事件
可以删除表单操作标记,并将action=update\u项目
移动到
JavaScript:
$('#submit').click(function(event) {
event.preventDefault();
// your javasacript code
$.ajax({
type: 'POST',
url: 'functions_new.php',
data: {
name1: PID,
name8: p_start_date,
name9: con_start_date,
name10: con_end_date,
name11: p_end_date,
name12: IDF_room_ready,
name13: AV_install_date,
name14: Occupancy_date,
action: 'update_project'
},
success: function() {
alert('Updated');
}
});
});
if (isset($_POST['action']) && $_POST['action'] == 'update_project') {
// your php code
}
请注意,现在action
将是一个POST参数
PHP:
$('#submit').click(function(event) {
event.preventDefault();
// your javasacript code
$.ajax({
type: 'POST',
url: 'functions_new.php',
data: {
name1: PID,
name8: p_start_date,
name9: con_start_date,
name10: con_end_date,
name11: p_end_date,
name12: IDF_room_ready,
name13: AV_install_date,
name14: Occupancy_date,
action: 'update_project'
},
success: function() {
alert('Updated');
}
});
});
if (isset($_POST['action']) && $_POST['action'] == 'update_project') {
// your php code
}
默认情况下,不会触发单击事件的操作
可以删除表单操作标记,并将action=update\u项目
移动到
JavaScript:
$('#submit').click(function(event) {
event.preventDefault();
// your javasacript code
$.ajax({
type: 'POST',
url: 'functions_new.php',
data: {
name1: PID,
name8: p_start_date,
name9: con_start_date,
name10: con_end_date,
name11: p_end_date,
name12: IDF_room_ready,
name13: AV_install_date,
name14: Occupancy_date,
action: 'update_project'
},
success: function() {
alert('Updated');
}
});
});
if (isset($_POST['action']) && $_POST['action'] == 'update_project') {
// your php code
}
请注意,现在action
将是一个POST参数
PHP:
$('#submit').click(function(event) {
event.preventDefault();
// your javasacript code
$.ajax({
type: 'POST',
url: 'functions_new.php',
data: {
name1: PID,
name8: p_start_date,
name9: con_start_date,
name10: con_end_date,
name11: p_end_date,
name12: IDF_room_ready,
name13: AV_install_date,
name14: Occupancy_date,
action: 'update_project'
},
success: function() {
alert('Updated');
}
});
});
if (isset($_POST['action']) && $_POST['action'] == 'update_project') {
// your php code
}
将输入
type=submit
更改为type=button
,以避免按钮的提交行为
<input type="button" id="proj_submit" class="ui blue submit button right floated" value="Update">
上面按钮的Id是
proj_submit
,这里是$(“#submit”)。单击(函数()
,您正在使用另一个按钮Id=submit
,该按钮可能具有type=submit属性将输入type=submit
更改为type=button
,以避免按钮的提交行为
<input type="button" id="proj_submit" class="ui blue submit button right floated" value="Update">
上面按钮的Id是proj_submit
,这里是$(“#submit”)。单击(函数()
您正在使用另一个按钮Id=submit
,该按钮可能具有type=submit
属性您是否错过了操作参数
$.ajax({
type:"POST",
url: "functions_new.php",
data: {
name1: PID, name8: p_start_date, name9: con_start_date,
name10: con_end_date, name11: p_end_date,
name12: IDF_room_ready,
name13: AV_install_date, name14: Occupancy_date,
action: 'update_project'
},
success: function() {
alert("Updated");
}
以及php文件中的更改:
if ((isset($_POST['action'])) AND ($_POST['action'] == "update_project")) {
使用event.preventDefault();
是一种很好的做法是否遗漏了操作参数
$.ajax({
type:"POST",
url: "functions_new.php",
data: {
name1: PID, name8: p_start_date, name9: con_start_date,
name10: con_end_date, name11: p_end_date,
name12: IDF_room_ready,
name13: AV_install_date, name14: Occupancy_date,
action: 'update_project'
},
success: function() {
alert("Updated");
}
以及php文件中的更改:
if ((isset($_POST['action'])) AND ($_POST['action'] == "update_project")) {
使用event.preventDefault();
是一种很好的做法您可以使用preventDefault或使用链接代替提交按钮
第一个解决方案:预防默认值:
$( "#form-id" ).on( "submit", function( event ) {
event.preventDefault();
data = $( this ).serialize() ); //earn time with serialize()
//your ajax code
});
第二种解决方案:如果你像我一样不爱我
<span onclick="submitForm();">Submit</span>
...
function submitForm(){
//your code
}
提交
...
函数submitForm(){
//你的代码
}
您可以使用默认设置或使用链接代替提交按钮
第一个解决方案:预防默认值:
$( "#form-id" ).on( "submit", function( event ) {
event.preventDefault();
data = $( this ).serialize() ); //earn time with serialize()
//your ajax code
});
第二种解决方案:如果你像我一样不爱我
<span onclick="submitForm();">Submit</span>
...
function submitForm(){
//your code
}
提交
...
函数submitForm(){
//你的代码
}
然后该动作也可以添加为隐藏字段
<form method="post" action="#">
<input type="hidden" id="PID" name="PID" value="">
<input type="hidden" id="action" name="action" value="update_project">
...
<input type="button" id="proj_submit" class="ui blue submit button right floated" value="Update">
</form></div>
然后该动作也可以添加为隐藏字段
<form method="post" action="#">
<input type="hidden" id="PID" name="PID" value="">
<input type="hidden" id="action" name="action" value="update_project">
...
<input type="button" id="proj_submit" class="ui blue submit button right floated" value="Update">
</form></div>
在单击功能开始时尝试event.preventDefault您没有阻止原始表单提交,因此您开始执行ajax请求,但也执行常规表单提交。如何解决此问题?首先,您将事件附加到id为“submit”的元素,但没有此类元素。您好,Progrock,我已更改proj_submittry event.preventDefault在单击函数开始时,您没有阻止原始表单提交,因此您开始执行ajax请求,但也执行常规表单提交。如何解决此问题?首先,您将事件附加到id为“submit”的元素,但没有此类元素。Hello Progrock,我把它改为proj_submittry来解释它。谢谢你的回复。不幸的是,这对我仍然不起作用,我已经尝试过了。尝试过事件,仍然没有结果:(@MikeValentino你的表单操作应该是这样的:action=“#”
好的,现在我们开始讨论一些问题。但是如何调用SQL请求?请尝试解释一下。感谢您的响应。不幸的是,这对我仍然不起作用,我已经尝试过了。也尝试过事件,仍然没有结果:(@MikeValentino)您的表单操作应该是这样的:action=“#”
好的,现在我们开始讨论一些问题。但是如何调用SQL请求?感谢您的响应。我添加了此更改,但仍然存在相同的问题。除非您明确尝试,否则无法使用输入类型按钮提交表单。我是否应将按钮更改回提交?否。更改$(“#提交”)。单击(函数()
以$(“#proj_submit”)。单击(函数()
或将提交按钮的输入类型更改为按钮。我进行了这些更改。仍然