Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在没有页面刷新的情况下发布到PHP?_Php_Jquery_Html_Sql_Ajax - Fatal编程技术网

在没有页面刷新的情况下发布到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 SERVER

我一直在关注多个在线论坛的帖子,试图找到答案,但我一直得到同样的答案。我只想发布而不刷新页面。我的代码如下,请告诉我哪里出了问题

下面是AJAX文章部分(在文件中:edit_project_new.php):

}))

下面是HTML表格和表单(文件:functions_new.php):


...
下面是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”)。单击(函数()
或将提交按钮的输入类型更改为
按钮。我进行了这些更改。仍然