• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kleine Tabelle editieren direkt in der Zelle und senden per Formular

  • Ersteller Ersteller sysop
  • Erstellt am Erstellt am
S

sysop

Guest
Ich habe gerade eine Kleine Tabelle gebraucht, die ich direkt editieren kann (Zelle Klick und Eintrag) und die dann die Werte übermittelt.
Ist very Quick aber funktioniert. Wer es brauchen kann, hier das Rohgerüst:

PHP:
<?PHP
session_start();

    @error_reporting(E_ALL & ~E_NOTICE);
    @ini_set('display_errors','Off');

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Kleine Tabelle</title>
</head>
<body>

<script type="text/javascript">
function Anzeigen (id)
{
  document.getElementById(id).style.visibility = "visible";
  document.getElementById('t'+id).style.visibility = "hidden";
  document.getElementById(id).focus();
}

function Ausblenden (id)
{
  document.getElementById(id).style.visibility = "hidden";
  document.getElementById('t'+id).style.visibility = "visible";
  document.getElementById('t'+id).value = document.getElementById(id).value;
  if(document.getElementById('t'+id).value == "") document.getElementById('t'+id).value = 0;
  document.getElementById('t'+id).focus();
}

</script>

<style type="text/css">
.tbl
{
    border:1px solid black;
    border-collapse:collapse;
    border-spacing:0px;
}

.td1
{
    border:1px solid blue;
}

.in1
{
    position:absolute;
    border:0px;
    margin:0px 0px 0px 0px;
}

.in2
{
    position:relative;
    border:0px;
    margin:0px 0px 0px 0px;
}

</style>

<?PHP
if(isset($_GET['show'])) $wohin = $_GET['show'];
else $wohin = 0;

if(isset($_POST['refresh'])) $wohin = 0;

switch($wohin)
{
    default:

    echo "<form method=\"POST\" action=\"test.php?show=1\">";
    echo "<table class=\"tbl\">\n";
    for($a = 0;$a < 3; $a++)
    {
    echo "<tr>\n";
    for($i = 0; $i < 5; $i++)
    {
        if(!isset($_POST['var'][$a][$i]) or ($_POST['var'][$a][$i] == "")) $_POST['var'][$a][$i] = 0;
        echo " <td class=\"td1\">\n";
        echo "  <input class=\"in1\" type=\"text\" size=\"5\" id=\"t".$a.$i."\" value=\"\" style=\"visibility:hidden;\" onblur=\"javascript:Ausblenden('t".$a.$i."');\">\n";
        echo "  <input class=\"in2\" text size=\"5\" name=\"var[".$a."][".$i."]\" id=\"tt".$a.$i."\" value=\"".$_POST['var'][$a][$i]."\" onclick=\"javascript:Anzeigen('t".$a.$i."');\" readonly=\"readonly\">\n";
        echo " </td>\n";
    }
    echo "</tr>\n";
    }

    echo "</table>\n";
    echo "<input type=\"submit\" value=\"senden\">";
    echo "<input type=\"submit\" value=\"refresh mit den Werten\" name=\"refresh\">";
    echo "</form>";

    break;

    case 1:

    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
    echo '<a href="test.php">nochmal</a>';
    break;

}
?>
</body>
</html>
ps
Sorry, für den hässlichen Umbruch kann ich nichts.......
 
Zurück
Oben