1

これは私にとって継続的な問題でした。皆様には既に大変お世話になりました。しかし、私は再び立ち往生しています。実行できません.ajax()。何らかの理由で、上記の呼び出し.click()がないと機能しませんが、脱線します。if(field != text).ajax()

私の質問は次のとおりです:なぜ私はajax()正しく機能していないのですか?これが修正された場合、ページを更新せずにクエリがデータベースに送信された後、テーブルが更新されて表示されますか?

これが私のスクリプトです:

<script type="text/javascript">
    $(document).ready(function()
    {
        $(".edit_td").click(function()
        {
            $(this).children(".text").hide();
            $(this).children(".editbox").show();

        }).children('.editbox').change(function()
            {
                var id=$(this).closest('tr').attr('id');
                var field=$(this).data('field');
                var text=$(this).val();

                var dataString = 'id= '+ id +'&field= '+ field +'&text= '+ text;
                alert("made variables");

                if(field != text)
                {
                    alert("in if");
                    $.ajax({
                    type: "POST",
                    url: "table_edit_ajax.php",
                    data: dataString,
                    cache: false,
                    success: function(html)
                    {
                        $("#first_"+ID).html(first);
                        $("#last_"+ID).html(last);
                    }
                    });
                }
                else
                {
                    alert('Enter something.');
                }
            });

        // Edit input box click action
        $(".editbox").mouseup(function() 
        {
            return false
        });

        // Outside click action
        $(document).mouseup(function()
        {
            $(".editbox").hide();
            $(".text").show();
        });

    });
    </script>

ここに私のtable_edit_ajax.phpがあります

<?php
   //connect to DB
   $con = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

   echo 'in table_edit';

   $id = mysqli_escape_String($_POST['id']);
   $table = "owners";
   $field = mysqli_escape_String($_POST['field']);
   $text = mysqli_escape_String($_POST['text']);
   $query = "UPDATE ".$table." SET ".$field."='".$text."' WHERE ".$table."_id = '".$id."'";
   mysqli_query($query);

   //close connection
   mysqli_close($con);

?>
4

2 に答える 2