Toon posts:

[java][javascript][ejb] Verwijderen user mbv userId

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een tabel gemaakt die automatisch alle gebruikers in een tabel weergeeft en achter elke gebruiker een knop "wijzigen" en een knop "verwijderen" plaatst.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
for (int k=0; k<userCount; k++) 
    {
        out.println("<center><BR><TABLE BORDER=1 BGCOLOR=#FFFFFF>");
        out.println("<TR><TD COLSPAN=7><B>Sms gebruikers: </B></TD></TR>");
        out.println("<TD><B>Gebruikersnaam</B></TD>");
        out.println("<TD><B>Wachtwoord</B></TD>");
        out.println("<TD><B>Mobiele nummer</B></TD>");
        out.println("<TD><B>Wijzigen</B></TD>");
        out.println("<TD><B>Verwijderen</B></TD></TR>");
    
        Iterator i = userList.iterator();
        while (i.hasNext()) 
        {
            out.println("<TR>");
            String userId = null;
            String details = (String)i.next();
            StringTokenizer st = new StringTokenizer(details,",");
            
            if (userId == null)
            {
                String user = st.nextToken();
                int x = 0;
                if (x == 0)
                {
                    userId = user;
                    out.println("UserID = " + userId);
                }
                x = x + 1;
            }
                        
            while( st.hasMoreTokens() )
            {
                out.println("<TD>"+(String)st.nextToken() + "</TD>");
            }
            out.println("<TD><input TYPE=button TARGET=middle NAME=Edit VALUE=Wijzigen onclick=doeEdit(this.Form)></TD>");
            out.println("<TD><input TYPE=button TARGET=middle NAME=Del VALUE=Verwijderen onclick=Javascript:doeDelUser();></TD>");
            out.println("</TR>");
        }
        out.println("</TABLE><center>");
    }


Als ik op de knop verwijderen achter een gebruiker klik krijg ik door middel van Javascript een melding of ik de gebruiker wil verwijderen, maar als ik dan op "ok" klik, geeft hij bij het verwijderen aan dat het niet kan omdat hij in mijn delete.jsp de userId niet mee krijgt.
Code van javascript:

code:
1
2
3
4
5
6
7
8
9
<script Language="JavaScript">
<!-- Hide
function doeDelUser(userId) {
    if (confirm("Wilt u deze gebruiker verwijderen?")) 
    {
        window.location.href = "storingsmelder_DelUser.jsp?delete=TRUE" + "userId";
    }
}
//--></script>


Ik heb het forum en andere fora en JS voorbeelden bekeken, maar ik kan er niet achterkomen hoe ik mij userId mee kan geven naar de volgende pagina zodat ik de betreffende gebruiker kan verwijderen.
Weet iemand hoe dat in elkaar steekt?

Verwijderd

Je geeft de userId niet mee maar de string "userId" alleen. Ik denk dat je dit wil bedoelen:
code:
1
window.location.href = "storingsmelder_DelUser.jsp?delete=TRUE&userId=" + userId;

Verwijderd

Topicstarter
Flussieke dit had ik inmiddels ook al een keer geprobeerd... maar ook dit werkt niet... op mijn volgende jsp pagina krijg ik dan door mijn out.println("UserID " + userId); UserID null
Dus dan neemt hij nog steeds mijn userId niet mee... kan het liggen aan het feit dat ik de tabel verkeerd genereer waardoor ik niet per userId kan deleten?? :?

Ik denk niet dat het belangrijk is, maar ik heb hieronder ook nog even de jsp van mijn delete neergezet.

code:
1
2
3
4
5
6
7
8
9
10
11
String userId = null;
    if(userId != null)
    {
        storingsmelder.removeUser(userId);
    }
    else
    {
        out.println("<center><BR><TABLE BORDER=1 BGCOLOR=#FFFFFF>");
        out.println("<TR><TD>Kan gebruiker niet verwijderen! </TD></TR></TABLE></center>");
    }
    out.println("UserId = " + userId);

  • pgussow
  • Registratie: Maart 2003
  • Laatst online: 18-08-2025
Buiten dat, aan de functie doeDelUser geef je niet eens het userid mee, dus dat gaat sowieso niet werken.. Maar als het goed begrepen heb, zijn dit soort: "Mijn code doet het niet" VERBODEN

Verwijderd

De variabele uit javascript moet je nog opvragen in jsp:
code:
1
String userId = request.getParameter ("userId");

Anders is deze natuurlijk altijd null.

Verwijderd

Topicstarter
Ok... ik heb nu gevonden waar het probleem zit... namelijk in mijn JS...
Als ik namelijk de volgende code gebruik, die Flussieke ook opperde:

code:
1
window.location.href = "storingsmelder_DelUser.jsp?delete=TRUE&userId=" + userId;


Dan gebeurt er niets... tenminste dan zegt hij dat userId in de delete.jsp undefined is. Echter als ik in de JS keihard een userId meegeef, wordt deze direct verwijderd. Ik denk dus dat het moet liggen aan de opbouw van mijn tabel...

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Teigetje205:
Ok... ik heb nu gevonden waar het probleem zit... namelijk in mijn JS...
-> Webdesign & Graphics dan maar :)
Dan gebeurt er niets... tenminste dan zegt hij dat userId in de delete.jsp undefined is.
Als een variabele in JavaScript niet gedefinieerd is en je vervolgens die waarde bij een string "optelt" komt er ipv. de waarde die de variabele zou hebben 'undefined' in je string te staan:
JavaScript:
1
2
3
var myvar; // is dus ongedefinieerd

alert ( "Een ongedefinieerde var is: " + myvar );


Ga dus na waar die userId vandaan komt en of die wel op een juiste manier meegegeven wordt en/of gedefinieerd wordt :) Wat relevante HTML zou ook niet misstaan denk ik :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • momania
  • Registratie: Mei 2000
  • Laatst online: 10:59

momania

iPhone 30! Bam!

de volgende regel gebruik je om je functie uit te voeren na het drukken van een knop:
code:
1
out.println("<TD><input TYPE=button TARGET=middle NAME=Del VALUE=Verwijderen onclick=Javascript:doeDelUser();></TD>");

Je roept dus nu de funtie kaal aan zonder een argument mee te geven. Dan is het ook niet zo gek dat in je functie de userId param leeg blijft

Neem je whisky mee, is het te weinig... *zucht*


  • Theguide
  • Registratie: December 2000
  • Laatst online: 26-06-2025
Verwijderd schreef op 26 May 2003 @ 13:31:
out.println("<TD><input TYPE=button TARGET=middle NAME=Del VALUE=Verwijderen onclick=Javascript:doeDelUser();></TD>");

<script Language="JavaScript">
<!-- Hide
function doeDelUser(userId) {
Wat denk je dat er dan misgaat??

edit: momania was me voor

edit2: wat heeft dit nou weer met design & graphics te maken.... :?

[ Voor 30% gewijzigd door Theguide op 26-05-2003 14:36 ]

Fuck me if I'm wrong, but isn't your name Gretchen?


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:16

crisp

Devver

Pixelated

nog een klein puntje: in een eventhandler hoeft geen javascript: te staan.
Verder is het gebruik van dubbele quotes in HTML voor attributen wel zo netjes (en voor xhtml zelfs verplicht) :)

[ Voor 10% gewijzigd door crisp op 26-05-2003 14:41 ]

Intentionally left blank


  • momania
  • Registratie: Mei 2000
  • Laatst online: 10:59

momania

iPhone 30! Bam!

Theguide schreef op 26 May 2003 @ 14:34:
[...]
edit2: wat heeft dit nou weer met design & graphics te maken.... :?
't is een javascript probleem, dus: WG

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
Als ik hard een userId ingeef in de window.location.href en ik ga door naar de delete.jsp ... doe ik daar twee testjes... namelijk:

1. out.println(userId);
2. out.println(request.getParameter("userId");

Bij test1 krijg ik in dit geval de ingevoerde userId terug.
Bij test2 krijg ik "null" terug.
Ik snap het niet meer.... :'(
Pagina: 1