Ergebnis 1 bis 12 von 12
-
06-10-2004, 15:51 #1
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
-
06-10-2004, 20:17 #2
Lounge-Member
- registriert
- 03-08-2001
- Ort
- Leipzig
- Beiträge
- 2.089
AW: dynamische erstellung einer Liste
der ganze quelltext wär nicht schlecht
-
07-10-2004, 09:56 #3
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 Name, Vorname</b></td>
</tr>
<tr>
<td><input type="text" name="newNumber" value="" size="10" maxlength="7" id="newNumber">
<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"> <?= $pnummer ?></b></p></td><td width="3px"></td><td class="TabHellgrau"><p><b style="color:red"> <?= $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>
-
07-10-2004, 13:39 #4
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").
Übrigens ist der php-code in diesem Fall nicht so interessant viel mehr das HTML, daß durch das PHP-Script erzeugt wird.
Gruß zehdeh
-
07-10-2004, 13:56 #5
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" >
<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;
_________________________________________________________________________________
-
07-10-2004, 15:34 #6
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.
-
07-10-2004, 19:19 #7
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.
-
08-10-2004, 10:25 #8
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.
-
08-10-2004, 15:16 #9
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");
}
}
//-->
-
11-10-2004, 11:18 #10
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 Name, Vorname</b></td>
</tr>
<tr>
<td><input type="text" name="newNumber" value="" size="10" maxlength="7" id="newNumber">
<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"> "addNewUser()"</b></p></td><td width="3px"></td><td class="TabHellgrau"><p><b style="color:red"> <?= $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
-
14-10-2004, 16:41 #11
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 Name, Vorname</b></td>
</tr>
<tr>
<td><input type="text" name="newNumber" value="" size="10" maxlength="7" id="newNumber">
<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"> <?= $pnummer ?></b></p></td><td width="3px"></td><td class="TabHellgrau"><p><b style="color:red"> <?= $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>
-
14-10-2004, 17:28 #12
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
-
Liste aller offnen Fenster
Von digleu im Forum JavaScriptAntworten: 3Letzter Beitrag: 28-09-2004, 10:01 -
[PHP] Dynamische Grafik?
Von .stephan im Forum Serverseitige ProgrammierungAntworten: 4Letzter Beitrag: 26-04-2003, 00:22 -
Liste a la <ul>
Von Guido im Forum FlashAntworten: 6Letzter Beitrag: 23-04-2003, 16:51 -
Dynamische Auswahllisten
Von preachie im Forum JavaScriptAntworten: 1Letzter Beitrag: 30-05-2001, 17:42
Lesezeichen