Ergebnis 1 bis 12 von 12
  1. #1
    Tolwin ist offline Mitglied
    registriert
    06-10-2004
    Beiträge
    30

    dynamische erstellung einer Liste

    Hallo Leute,

    ich versuch in ein Formular eine Funktion ein zu bauen die
    ermöglichen soll über die Eingabe einer Userkennung und des Usernamens
    eine Auflistung der eingegebenen Daten zu erstellen. Es sollen max. 5 Datensätze
    geschrieben werden. Leider funktioniert es nicht so wie ich es mir vorstelle.
    hier der Quellcode:

    <!--
    var userNumber = "_";
    var userName = "_";
    var newUserList = new Array(5);
    var count = 0;

    function addNewUser()
    {
    // ermitteln des Usernamens und der ID
    userNumber = document.getElementById("newNumber").getAttribute('value');
    userName = document.getElementById("newName").getAttribute('value');

    newUserList[count] = new Array(2);
    newUserList[count][0] = userNumber;
    newUserList[count][1] = userName;

    if(count<=4) {
    document.getElementById("userList"+(count+1)+"_1").firstChild.nodeValue = userNumber;
    document.getElementById("userList"+(count+1)+"_2").firstChild.nodeValue = userName;

    count++;
    }
    else
    {
    alert("Es können max. 5 User eingetragen werden");
    }

    document.userForm.pnummer.value = userNumber;
    document.userForm.name.value = userName;
    document.userForm.submit();
    }

    //-->

    bei var newUserList = new Array(5); bekomme ich schon die Fehlermeldung Objekt erwartet. Habe keine Idee woran dies liegen könnte.

    Schon vorab vielen Dank an Euch

  2. #2
    PRINZ ist offline Lounge-Member
    registriert
    03-08-2001
    Ort
    Leipzig
    Beiträge
    2.089

    AW: dynamische erstellung einer Liste

    der ganze quelltext wär nicht schlecht

  3. #3
    Tolwin ist offline Mitglied
    registriert
    06-10-2004
    Beiträge
    30

    AW: dynamische erstellung einer Liste

    Oh, ja klar... gerne

    require("/var/opt/data/www/pvk/docs/admin/aw/usershares/SmbUsers_Class.php");

    if(!is_object($smbUsersClass))
    {
    $smbUsersClass = new SmbUsers();
    }
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta http-equiv="Pragma" content="no-cache">
    <script language="JavaScript">
    <!--
    var userNumber = "_";
    var userName = "_";
    var newUserList = new Array(5);
    var count = 0;

    function addNewUser()
    {
    // ermitteln des Usernamens und der ID
    userNumber = document.getElementById("newNumber").getAttribute('value');
    userName = document.getElementById("newName").getAttribute('value');

    newUserList[count] = new Array(2);
    newUserList[count][0] = userNumber;
    newUserList[count][1] = userName;

    if(count<=4) {
    document.getElementById("userList"+(count+1)+"_1").firstChild.nodeValue = userNumber;
    document.getElementById("userList"+(count+1)+"_2").firstChild.nodeValue = userName;

    count++;
    }
    else
    {
    alert("Es können max. 5 User eingetragen werden");
    }

    document.userForm.pnummer.value = userNumber;
    document.userForm.name.value = userName;
    document.userForm.submit();
    }

    //-->
    </script>
    </head>
    <body>
    <!-- 100% Höhe Tabelle -->
    <table height="100%" border="0" cellpadding="0" cellspacing="0" width="600">
    <tr><td valign="top">
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="250">
    <h1 style="margin-bottom:2px;margin-top:0px;">User - Shares </h1><br>
    <h3 style="margin-bottom:2px;margin-top:0px;">Neue Samba-User hinzufuegen</h3>
    </td>
    </tr>
    <tr><td><br><br></td></tr>
    <tr>
    <td><b>P-Nummer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name, Vorname</b></td>
    </tr>
    <tr>
    <td><input type="text" name="newNumber" value="" size="10" maxlength="7" id="newNumber">&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="text" name="newName" value="" size="25" maxlength="25" id="newName">
    <button name="b_hinzufuegen" type="button" onclick="addNewUser()" style="cursor:hand; padding:0px; border-style:none; background-color:#FFFFFF;"><img src="/public/icons/application_buttons/b_hinzufuegen.gif" border="0" alt="hinzufuegen"></button></td>
    </tr>
    <tr>
    <td><br><br>
    <!-- ######################### -->
    <!-- Begin der Tabelle mit neuen Usern -->
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td colspan="5">
    <b>Liste der neuen User</b>
    </td>
    <td></td>
    </tr>
    <tr>
    <td colspan="5">
    <hr width="100%" size="1">
    </td>
    </tr>
    <tr class="TabMittelgrau">
    <td width="3px" bgcolor="white"></td>
    <td>
    <h2>User-ID</h2>
    </td>
    <td width="3px" bgcolor="white"></td>
    <td>
    <h2>Username (Name, Vorname)</h2>
    </td>
    </tr>
    <tr></tr>
    <form name="userForm" action="<?php $PHP_SELF ?>" method="POST">
    <input type="Hidden" name="pnummer" value="">
    <input type="Hidden" name="name" value="">

    <?php

    if($pnummer) {
    $smbUsersClass->addNewSmbUser($pnummer, $name);
    }
    ?>
    <tr>
    <td width="3px"></td>
    <td class="TabHellgrau" width="50%">
    <p style="background-color:"><b style="color:red">&nbsp;<?= $pnummer ?></b></p></td><td width="3px"></td><td class="TabHellgrau"><p><b style="color:red">&nbsp;<?= $name ?></b></p>
    </td>
    <td width="3px"></td>
    </tr>

    </form>
    <tr>
    <td colspan="5">
    <hr width="100%" size="1">
    </td>
    </tr>
    <tr>
    <td align="right" colspan="5">
    <button name="b_bestaetigen" type="button" onclick="addNewUser()" style="cursor:hand; padding:0px; border-style:none; background-color:#FFFFFF;"><img src="/public/icons/application_buttons/b_bestaetigen.gif" border="0" alt="bestätigen"></button></td>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>

  4. #4
    zehdeh ist offline Routinier
    registriert
    30-09-2002
    Ort
    Stühlingen
    Beiträge
    302

    AW: dynamische erstellung einer Liste

    Hi,
    wo ist denn das Element mit dieser id?
    HTML-Code:
    document.getElementById("userList"+(count+1)+"_1").
    Ich kann im Quelltext nix finden - also gibt es das Objekt auch nicht.
    Übrigens ist der php-code in diesem Fall nicht so interessant viel mehr das HTML, daß durch das PHP-Script erzeugt wird.
    Gruß zehdeh

  5. #5
    PRINZ ist offline Lounge-Member
    registriert
    03-08-2001
    Ort
    Leipzig
    Beiträge
    2.089

    AW: dynamische erstellung einer Liste

    es ist richtig das du für das unterarray erst die definition machst
    -> newUserList[count] = new Array(2); (die 2 kannst du weglassen)
    in der if() abfrage versuchst du mit getElementById auf userList zuzugreifen, die aber nirgends vorhanden ist, ich neheme an das du das array newUserList meinst. da du ein array ansprichst um es zu beschreiben mußt du es vorher definieren. weil ->
    newUserList[count+1] also newUserList[1] existiert noch nicht als array (newUserList[0] hingegen schon)
    also in der if abfrage erst die variable count um eins erhöhen dann kannst du weider newUserList[count] = new Array(); definieren und dann kannst du den die inhalte newUserList[count][0] und newUserList[count][1] mit deinen daten beschreiben.
    _________________________________________________________________________________
    TIP:
    <form name="formname">
    <input type="text" name="newNumber" value="10" size="10" maxlength="7" >&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="text" name="newName" value="Prinz" size="25" maxlength="25">
    <button name="b_hinzufuegen" type="button" onclick="addNewUser()" style="cursor:hand; padding:0px; border-style:none; background-color:#FFFFFF;"><img src="/public/icons/application_buttons/b_hinzufuegen.gif" border="0" alt="hinzufuegen"></button></td>
    </form>

    dann hast du's einfacher beim abfragen der inhalte

    userNumber = document.formname.newNumber.value;
    userName = document.formname.newName.value;
    _________________________________________________________________________________

  6. #6
    Tolwin ist offline Mitglied
    registriert
    06-10-2004
    Beiträge
    30

    AW: dynamische erstellung einer Liste

    Erst einmal vielen Dank für die Unterstützung!
    Leider habe ich noch immer Probleme mit dem (jetzt angepassten) Skript
    Sehe wohl vor lauter Wald die Bäume nicht mehr :whacky:
    Vielleicht könntet Ihr mir noch mal helfen .... denke eigentlich, dass es garnicht so schwer ist - na ja, für mich schon

    <!--
    var userNumber = "_";
    var userName = "_";
    var newUserList = new Array(5);
    var count = 0;


    function addNewUser()
    {
    // ermitteln des Usernamens und der ID
    userNumber = document.getElementById("newNumber").getAttribute('value');
    userName = document.getElementById("newName").getAttribute('value');

    newUserList[count] = new Array(2);
    newUserList[count][0] = userNumber;
    newUserList[count][1] = userName;

    if(count<=4)
    {
    count++
    newUserList[count] = new Array();
    document.getElementById("newUserList"+(count+1)+"_1").firstChild.nodeValue = userNumber;
    document.getElementById("newUserList"+(count+1)+"_2").firstChild.nodeValue = userName;
    }
    else
    {
    alert("Es können max. 5 User eingetragen werden");
    }

    document.userForm.pnummer.value = userNumber;
    document.userForm.name.value = userName;
    document.userForm.submit();
    }

    //-->

    Bekomme bei function addNewUser eine Fehlermeldung.

  7. #7
    PRINZ ist offline Lounge-Member
    registriert
    03-08-2001
    Ort
    Leipzig
    Beiträge
    2.089

    AW: dynamische erstellung einer Liste

    schau dir mal das an, vielleicht ist es sogar das was du wolltest

    <!--
    var userNumber = "_";
    var userName = "_";
    var newUserList = new Array(5);
    var count = 0;


    function addNewUser()
    {
    // ermitteln des Usernamens und der ID
    userNumber = document.getElementById("newNumber").getAttribute('value');
    userName = document.getElementById("newName").getAttribute('value');

    if(count<=4)
    {
    count++
    newUserList[count] = new Array();
    newUserList[count][0] = userNumber;
    newUserList[count][1] = userName;
    }
    else
    {
    alert("Es können max. 5 User eingetragen werden");
    }

    document.userForm.pnummer.value = userNumber;
    document.userForm.name.value = userName;
    document.userForm.submit();
    }

    //-->

    weil sowas:
    document.getElementById("newUserList"+(count+1)+"_1").firstChild.nodeValue = userNumber;
    ist 100% falsch.

  8. #8
    Tolwin ist offline Mitglied
    registriert
    06-10-2004
    Beiträge
    30

    AW: dynamische erstellung einer Liste

    Hallo Prinz,

    vielen Dank... ich erhalte jetzt zumindest keine Fehlermeldung mehr.
    Leider funktioniert das Skript noch nicht so wie es soll. Es soll jeder eingegebene User - maximal aber 5 -
    untereinander aufgelistet werden. Im Moment wird aber der zuletzt eingegebene User durch den neuen User
    überschrieben. Ich finde einfach keine Lösung für dieses Problem - evtl. ist es garnicht zu lösen?!?
    Vielleicht hat hier noch jemand einen Tipp.

  9. #9
    PRINZ ist offline Lounge-Member
    registriert
    03-08-2001
    Ort
    Leipzig
    Beiträge
    2.089

    AW: dynamische erstellung einer Liste

    weil du vieleicht dein submit function mit in die if abfrage tuen solltest.
    vielleicht so:

    <!--
    var userNumber = "_";
    var userName = "_";
    var newUserList = new Array(5);
    var count = 0;


    function addNewUser()
    {
    // ermitteln des Usernamens und der ID
    userNumber = document.getElementById("newNumber").getAttribute('value');
    userName = document.getElementById("newName").getAttribute('value');

    if(count<=4)
    {
    count++
    newUserList[count] = new Array();
    newUserList[count][0] = userNumber;
    newUserList[count][1] = userName;
    document.userForm.pnummer.value = userNumber;
    document.userForm.name.value = userName;
    document.userForm.submit();
    }
    else
    {
    alert("Es können max. 5 User eingetragen werden");
    }
    }

    //-->

  10. #10
    Tolwin ist offline Mitglied
    registriert
    06-10-2004
    Beiträge
    30

    AW: dynamische erstellung einer Liste

    So scheint es zu funktionieren!
    Allerdings wird der aktuelle User noch immer mit dem neu eingegebenen überschrieben.
    Ich vermute, dass ich in der liste noch ein Skript einbauen muss welches über document.write
    das Array ausgibt .... richtig? Vielleicht hast Du auch hier noch einen letzten Tipp für mich?
    hier noch mal der Quellcode
    <html>
    <head>
    <script language="JavaScript">
    <!--
    var userNumber = "_";
    var userName = "_";
    var newUserList = new Array(5);
    var count = 0;


    function addNewUser()
    {
    // ermitteln des Usernamens und der ID
    userNumber = document.getElementById("newNumber").getAttribute('value');
    userName = document.getElementById("newName").getAttribute('value');

    if(count<=4)
    {
    count++
    newUserList[count] = new Array();
    newUserList[count][0] = userNumber;
    newUserList[count][1] = userName;
    document.userForm.pnummer.value = userNumber;
    document.userForm.name.value = userName;
    document.userForm.submit();
    }
    else
    {
    alert("Es können max. 5 User eingetragen werden");
    }
    }

    //-->



    </script>
    </head>
    <body>
    <!-- 100% Höhe Tabelle -->
    <table height="100%" border="0" cellpadding="0" cellspacing="0" width="600">
    <tr><td valign="top">
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="250">
    <h1 style="margin-bottom:2px;margin-top:0px;">User - Shares</h1><br>
    <h3 style="margin-bottom:2px;margin-top:0px;">Neuen User hinzufuegen</h3>
    </td>
    </tr>
    <tr><td><br><br></td></tr>
    <tr>
    <td><b>P-Nummer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name, Vorname</b></td>
    </tr>
    <tr>
    <td><input type="text" name="newNumber" value="" size="10" maxlength="7" id="newNumber">&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="text" name="newName" value="" size="25" maxlength="25" id="newName">
    <button name="b_hinzufuegen" type="button" onclick="addNewUser()" style="cursor:hand; padding:0px; border-style:none; background-color:#FFFFFF;"><img src="/public/icons/application_buttons/b_hinzufuegen.gif" border="0" alt="hinzufuegen"></button></td>
    </tr>
    <tr>
    <td><br><br>
    <!-- ######################### -->
    <!-- Begin der Tabelle mit neuen Usern -->
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td colspan="5">
    <b>Liste der neuen User</b>
    </td>
    <td></td>
    </tr>
    <tr>
    <td colspan="5">
    <hr width="100%" size="1">
    </td>
    </tr>
    <tr class="TabMittelgrau">
    <td width="3px" bgcolor="white"></td>
    <td>
    <h2>User-ID</h2>
    </td>
    <td width="3px" bgcolor="white"></td>
    <td>
    <h2>Username (Name, Vorname)</h2>
    </td>
    </tr>
    <tr></tr>
    <form name="userForm" action="<?php $PHP_SELF ?>" method="POST">
    <input type="Hidden" name="pnummer" value="">
    <input type="Hidden" name="name" value="">

    <?php

    if($pnummer) {
    $smbUsersClass->addNewSmbUser($pnummer, $name);
    }
    ?>
    <tr>
    <td width="3px"></td>
    <td class="TabHellgrau" width="50%">
    <p style="background-color:"><b style="color:red">&nbsp; "addNewUser()"</b></p></td><td width="3px"></td><td class="TabHellgrau"><p><b style="color:red">&nbsp;<?= $name ?></b></p>
    </td>
    <td width="3px"></td>
    </tr>

    </form>
    <tr>
    <td colspan="5">
    <hr width="100%" size="1">
    </td>
    </tr>
    <tr>
    <td align="right" colspan="5">
    <button name="b_bestaetigen" type="button" onclick="addNewUser()" style="cursor:hand; padding:0px; border-style:none; background-color:#FFFFFF;"><img src="/public/icons/application_buttons/b_bestaetigen.gif" border="0" alt="bestätigen"></button></td>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>

    Danke und Grüße
    Tolwin

  11. #11
    Tolwin ist offline Mitglied
    registriert
    06-10-2004
    Beiträge
    30

    AW: dynamische erstellung einer Liste

    Kann mir wirklich keiner einen Tipp zu meinem Problem geben?
    Hier noch mal eine etwas detailiertere Beschreibung nebst Quellcode:

    ich bin JavaScript Einsteiger und habe jetzt schön länger ein Problem für das ich keine Lösung finden kann. Die unten beschriebene Seite soll zur Userverwaltung dienen. Hier soll man die Userkennung und den Usernamen eingeben. Der eingegebene Name soll auf der gleichen Seite in einer Tabelle aufgelistet werden. 5 User zur Berechtigung sollen das Limit sein. Jetzt das Problem - jedes mal wenn ich einen neuen - sprich 2. User eingebe, verschwindet der 1. User. Es soll also eine Liste aus den max 5 User dargestellt werden
    und dann per Submit an ein PHP Skript weitergegeben werden. Wie bekomme ich die Liste hin .. kann mir jemand helfen?
    Schon vorab vielen Dank und Grüße
    Tolwin

    <!--
    var userNumber = "_";
    var userName = "_";
    var newUserList = new Array(5);
    var count = 0;


    function addNewUser()
    {
    // ermitteln des Usernamens und der ID
    userNumber = document.getElementById("newNumber").getAttribute('value');
    userName = document.getElementById("newName").getAttribute('value');

    if(count<=4)
    {
    newUserList[count] = new Array();
    newUserList[count][0] = userNumber;
    newUserList[count][1] = userName;

    document.userForm.pnummer.value = newUserList[count][0];
    document.userForm.name.value = newUserList[count][1];
    document.userForm.submit();
    count++;
    }
    else
    {
    alert("Es können max. 5 User eingetragen werden");
    }
    }






    //-->



    </script>
    </head>
    <body>
    <!-- 100% Höhe Tabelle -->
    <table height="100%" border="0" cellpadding="0" cellspacing="0" width="600">
    <tr><td valign="top">
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="250">
    <h1 style="margin-bottom:2px;margin-top:0px;">User </h1><br>
    <h3 style="margin-bottom:2px;margin-top:0px;">Neue User hinzufuegen</h3>
    </td>
    </tr>
    <tr><td><br><br></td></tr>
    <tr>
    <td><b>P-Nummer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name, Vorname</b></td>
    </tr>
    <tr>
    <td><input type="text" name="newNumber" value="" size="10" maxlength="7" id="newNumber">&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="text" name="newName" value="" size="25" maxlength="25" id="newName">
    <button name="b_hinzufuegen" type="button" onclick="addNewUser()" style="cursor:hand; padding:0px; border-style:none; background-color:#FFFFFF;"><img src="/public/icons/application_buttons/b_hinzufuegen.gif" border="0" alt="hinzufuegen"></button></td>
    </tr>
    <tr>
    <td><br><br>
    <!-- ######################### -->
    <!-- Begin der Tabelle mit neuen Usern -->
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td colspan="5">
    <b>Liste der neuen User</b>
    </td>
    <td></td>
    </tr>
    <tr>
    <td colspan="5">
    <hr width="100%" size="1">
    </td>
    </tr>
    <tr class="TabMittelgrau">
    <td width="3px" bgcolor="white"></td>
    <td>
    <h2>User-ID</h2>
    </td>
    <td width="3px" bgcolor="white"></td>
    <td>
    <h2>Username (Name, Vorname)</h2>
    </td>
    </tr>
    <tr></tr>
    <form name="userForm" action="<?php $PHP_SELF ?>" method="POST">
    <input type="hidden" name=pnummer value="">
    <input type="hidden" name=name value="">

    <?php

    /*if($pnummer) {
    $smbUsersClass->addNewSmbUser($pnummer, $name);
    }*/
    ?>
    <tr>
    <td width="3px"></td>
    <td class="TabHellgrau" width="50%">

    <p style="background-color:"><b style="color:red">&nbsp;<?= $pnummer ?></b></p></td><td width="3px"></td><td class="TabHellgrau"><p><b style="color:red">&nbsp;<?= $name ?></b></p>
    </td>
    <td width="3px"></td>
    </tr>

    </form>
    <tr>
    <td colspan="5">
    <hr width="100%" size="1">
    </td>
    </tr>
    <tr>
    <td align="right" colspan="5">
    <button name="b_bestaetigen" type="button" onclick="addNewUser()" style="cursor:hand; padding:0px; border-style:none; background-color:#FFFFFF;"><img src="/public/icons/application_buttons/b_bestaetigen.gif" border="0" alt="bestätigen"></button></td>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>

  12. #12
    zehdeh ist offline Routinier
    registriert
    30-09-2002
    Ort
    Stühlingen
    Beiträge
    302

    AW: dynamische erstellung einer Liste

    hi,
    ich hab jetzt nur noch mal kurz reingeschaut und muß auch gleich gehen, aber eins ist mir schon mal aufgefallen - bei jedem Aufruf von "addUser" schickst du ja das Formular ab. Dann existiert deine Seite nicht mehr und damit ist auch dein Array futsch. Anders gesagt, du darfst dein Formular erst submitten wenn alle User eingetragen sind oder du schickst sie einzeln ab-aber dann mußt du die User in einem PHP-Array halten und jedesmal das ganze Array zum Anzeigen zurückgeben.
    Ich hab mich in der Eile hoffentlich verständlich ausgedrückt.
    Gruß zehdeh

Ähnliche Themen

  1. Liste aller offnen Fenster
    Von digleu im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 28-09-2004, 10:01
  2. [PHP] Dynamische Grafik?
    Von .stephan im Forum Serverseitige Programmierung
    Antworten: 4
    Letzter Beitrag: 26-04-2003, 00:22
  3. Liste a la <ul>
    Von Guido im Forum Flash
    Antworten: 6
    Letzter Beitrag: 23-04-2003, 16:51
  4. Dynamische Auswahllisten
    Von preachie im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 30-05-2001, 17:42

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •