Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
通过AJAX和PHP提交表单_Php_Ajax_Forms - Fatal编程技术网

通过AJAX和PHP提交表单

通过AJAX和PHP提交表单,php,ajax,forms,Php,Ajax,Forms,场景: 单击提交按钮,将显示包含以下消息的警报框: Submitted 提交表单后,您将无法进行任何更改。做 你想提交吗 当用户按下OK时,应显示以下消息: Submitted 提交 以下是我的尝试: 这是表单的一部分: 注意:我没有显示要提交的表单的全部数据,因为它会占用空间。我只显示表单提交按钮的主要部分。 <div id="container"> <form action="<?php echo site_url('main/save_appraisa

场景:

单击提交按钮,将显示包含以下消息的警报框:

Submitted
提交表单后,您将无法进行任何更改。做 你想提交吗

当用户按下OK时,应显示以下消息:

Submitted
提交

以下是我的尝试:

这是表单的一部分:

注意我没有显示要提交的表单的全部数据,因为它会占用空间。我只显示表单提交按钮的主要部分。

<div id="container">

    <form action="<?php echo site_url('main/save_appraisal');?>"  
        method="post" id="appraisalForm" name="appraisalForm">

    <?php if($appr_status < '2'){?>
    <input type="button" name="submit" id="submitAppraisal" 
    value="Submit" /> 

    <?php }?>

<form>
</div>
这是我的模型的部分

public function submitAppraisal(){
        $emp_id = $this->input->post('empid');
        echo $this->appraisal_model->setAppraisalStatus($emp_id);
        echo 'Submitted';
} 
function setAppraisalStatus($employee_id=''){
if($employee_id == ''){
            return;
        }

        $login =  $this->session->userdata('username');     
        $loginid = $this->get_empid_exuname($login);

       $sql = "INSERT INTO appraisal_status 
 (id,employee_id,status,updated_on,updated_by)
 VALUES(seq_appraisal_status.nextval,$employee_id,$status,sysdate,'$login')";       
 $query = $this->db->query ( $sql );
}
    <script>
<script type="text/javascript">
$(function () {

   $( "#submitAppraisal" ).click(function() {        
        submitAppraisal();
    }); 
});


function submitAppraisal(){

    <?php if($this->session->userdata('userid') == $supervisor){?>
    var valid = 0;
    $( '.suvinput' ).each(function() {
        var vals = $(this).val();
        $(this).css('border-color','#ccc');
        if(vals == ''){         
            $(this).css('border-color','#f00');
            valid++;
        }

    }); 

    var confirmSubmit = confirm("You won't be able to make any 
    changes after submitting the form. Do you want to submit? ");
        if(confirmSubmit == false){ 
            return;
        }

        var params = $('form#appraisalForm').serialize()+ '&submit=Save';
        console.log(params);
        $.ajax({
              url: '<?php echo site_url('main/submitAppraisal');?>',
              type: 'post',
              data: params,
              success: function(data) {
              },
              error: function(err) {
              }
            });
    }
    </script>
以下是表单的部分

public function submitAppraisal(){
        $emp_id = $this->input->post('empid');
        echo $this->appraisal_model->setAppraisalStatus($emp_id);
        echo 'Submitted';
} 
function setAppraisalStatus($employee_id=''){
if($employee_id == ''){
            return;
        }

        $login =  $this->session->userdata('username');     
        $loginid = $this->get_empid_exuname($login);

       $sql = "INSERT INTO appraisal_status 
 (id,employee_id,status,updated_on,updated_by)
 VALUES(seq_appraisal_status.nextval,$employee_id,$status,sysdate,'$login')";       
 $query = $this->db->query ( $sql );
}
    <script>
<script type="text/javascript">
$(function () {

   $( "#submitAppraisal" ).click(function() {        
        submitAppraisal();
    }); 
});


function submitAppraisal(){

    <?php if($this->session->userdata('userid') == $supervisor){?>
    var valid = 0;
    $( '.suvinput' ).each(function() {
        var vals = $(this).val();
        $(this).css('border-color','#ccc');
        if(vals == ''){         
            $(this).css('border-color','#f00');
            valid++;
        }

    }); 

    var confirmSubmit = confirm("You won't be able to make any 
    changes after submitting the form. Do you want to submit? ");
        if(confirmSubmit == false){ 
            return;
        }

        var params = $('form#appraisalForm').serialize()+ '&submit=Save';
        console.log(params);
        $.ajax({
              url: '<?php echo site_url('main/submitAppraisal');?>',
              type: 'post',
              data: params,
              success: function(data) {
              },
              error: function(err) {
              }
            });
    }
    </script>
电流输出:

当用户按下提交按钮时,会询问以下问题:

You won't be able to make any changes after submitting the form. Do
you want to submit?
当用户按“是”时,应提交表单,并将记录插入数据库,但既不提交表单也不显示消息

预期输出:

用户按下“提交”按钮后,将显示以下消息,该消息正常

提交表单后,您将无法进行任何更改。做 你想提交吗

当用户按下OK按钮时,应显示以下信息:

Submitted
我不知道我哪里出错了


应该做什么修正?非常感谢您的建议。

Ajax的整个要点是将响应传递给JavaScript,而不是简单地显示它

这是您的成功功能:

      success: function(data) {
      },
它接受变量
数据中的响应,然后对其不做任何处理

您正在忽略PHP程序的输出


如果要显示输出,则需要编写代码来显示输出。

它如何知道单击“提交”时要执行的操作?你应该使用onsubmit事件,将你的脚本包装成一个函数,并在点击Submit时触发该函数。我有那个部分,但在我的帖子中忘了提到。让我编辑一下。