如何使用javascript从其他页面编辑表格内容 [英] How to edit table contents from another page using javascript

查看:83
本文介绍了如何使用javascript从其他页面编辑表格内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的网站上添加一个页面,该页面将显示一个可显示可用产品的表格。

I'm looking to add a page to my website that will have a table that will display the products that are available.

我希望能够做到这一点,以便可以从其他页面(例如管理页面)更改表格的内容。是否可以使用JavaScript或类似的东西做这样的事情?如果是这样,请指出我正确的方向。

What I would like to be able to do, is make it so that the contents of the table can be changed from another page (say an admin page). Is it possible to do something like this using JavaScript or something similar? If so can you please point me in the right direction.

非常感谢谢谢。

推荐答案

可能的解决方案



使用AJAX调用,您可以将表本身存储在HTML文件中。

这是一个示例页面。如果您有任何疑问,请随时向他们询问。我添加了一些功能,例如添加行

Here is an example page. If you have any questions, do not hesitate to ask them. I added a few functions such as Add Row.

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery AJAX</title>
    <link type="text/css" rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
    <style rel="stylesheet" type="text/css">
    tr, td,th{
        border-collapse: collapse;
        border:1px solid;
    }
    td{
        height:22px;
        min-width:125px;
    }
    </style>

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">"http://jquery.com"</script>
    <script type="text/javascript">
        /* ---------------------------------- */
        /* See the SCRIPT part of this answer */
        /* ---------------------------------- */
    </script>
</head>
<body>
    <h1>jQuery AJAX Table</h1>
    <section>
        <article>
            <div id="myTable" contenteditable></div>
            <nav data-type="table-tools">
                <ul>
                    <li>
                        <a href="#" id="addRow">New row</a>
                    </li>
                    <li>
                        <a href="#" id="addColumn">New column</a>
                    </li>
                    <li>
                        <a href="#" id="saveTable">Save table</a>
                    </li>
                </ul>
            </nav>
        </article>
    </section>
</body>
</html>



SCRIPT



SCRIPT

    /* On page load */
    $(document).ready(function () {
        var getTable = function () {
            /*We empty the div */
            $('#myTable').html('');
            /*We load the table */
            $.get('myTable.html', function (callback_data) {
                var table = callback_data;
                document.getElementById('myTable').innerHTML = table;
            });
        };
        getTable();

        /* ----- */

        /* New row button */
        $('#addRow').click(function (event) {
            /* Prevents the real anchor click event  (going to href link)*/
            event.preventDefault();

            /* We get the number of columns  in a row*/
            var colNumber = $($('#myTable tbody tr')[0]).children('td').length;

            var tr = document.createElement('tr');
            var td = "";
            for (var i = 0; i < colNumber; i++) {
                td = document.createElement('td');
                td.appendChild(document.createTextNode("\n"));
                tr.appendChild(td);
            }
            $('#myTable tbody').append(tr);
        });

        $('#addColumn').click(function (event) {
            event.preventDefault();
            $.each($('#myTable table thead tr'), function () {
                $(this).append('<th></th>');
            })
            $.each($('#myTable table tbody tr'), function () {
                $(this).append('<td></td>');
            });
        });

        $('#saveTable').click(function (event) {
            event.preventDefault();
            var table = $('#myTable').html();
            $.post('saveTable.php', {
                'myTable': table
            }, function (callback_data) {
                console.log(callback_data);
                $('#myTable').slideToggle('fast');
                setTimeout(function () {
                    getTable();
                    $('#myTable').slideToggle();
                }, 100);

            });
        });
    });






saveTable.php




saveTable.php

<?php
    if(!isset($_POST['myTable']))
        die('No data provided.');

    $table = $_POST['myTable'];

    $handle = fopen('myTable.html','w');
    $result = fwrite($handle,$table);
    if($result)
        fclose($handle);
    else
        die('Error writing file');
?>






myTable.html




myTable.html

<table>
    <thead>
        <tr>
            <th>Lorem ipsum dolor.</th>
            <th>Velit, vero, quis.</th>
            <th>Id, dolore, commodi!</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Lorem ipsum.</td>
            <td>Voluptatibus, maiores.</td>
            <td>Quod, et.</td>
        </tr>
        <tr>
            <td>Lorem ipsum.</td>
            <td>Ex, assumenda!</td>
            <td>Qui, pariatur!</td>
        </tr>
        <tr>
            <td>Lorem ipsum.</td>
            <td>Alias, amet.</td>
            <td>Delectus, itaque!</td>
        </tr>
        <tr>
            <td>Lorem ipsum.</td>
            <td>Praesentium, quod.</td>
            <td>Dolor, praesentium?</td>
        </tr>
        <tr>
            <td>Lorem ipsum.</td>
            <td>Beatae, perferendis!</td>
            <td>Voluptates, earum!</td>
        </tr>
        <tr>
            <td>Lorem ipsum.</td>
            <td>Ratione, quis.</td>
            <td>Cupiditate, repellendus.</td>
        </tr>
        <tr>
            <td>Lorem ipsum.</td>
            <td>Porro, labore.</td>
            <td>Eligendi, nemo!</td>
        </tr>
        <tr>
            <td>Lorem ipsum.</td>
            <td>Soluta, suscipit.</td>
            <td>Dolorem, dolores.</td>
        </tr>
    </tbody>
</table>

这篇关于如何使用javascript从其他页面编辑表格内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆