login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost]confirm - ?actie=..

Offline Dark_Paul - 24/07/2006 11:38 (laatste wijziging 24/07/2006 14:08)
Avatar van Dark_PaulPHP ver gevorderde Ik heb een script hier van de site gehaald voor een confirm, en dat wat aangepast naar mijn situatie. Maar nu heb ik een probleem. Het maakt niet uit wat ik aanklik (OK of Annuleren), er komt geen ?actie=.. in de url. Doordat dat niet in de url komt, gaat het script ook niet verder. Het script controleert namelijk op de aanwezigheid van ?actie= in de url. De melding krijg ik nu wel, maar de pagina wordt weer vernieuwd. ik zie ook geen moment iets van ?actie=.. .
Ziet iemand waar ik de fout maak?
http://www.plaatscode.be/1497/
Ik heb er een stukje bijgezet dat controleerd of $_GET['actie'] bestaat, en ik krijg nu de melding: 'Er is een fout opgetreden.' als ik submit.

8 antwoorden

Gesponsorde links
Offline haytjes - 24/07/2006 11:52 (laatste wijziging 24/07/2006 11:52)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
heb je mijn pm niet gekregen?

  1. <form method="post" action="" name="edit" onsubmit="CheckStatus()">
  2. ...
  3. <input type="submit" value="Wijzig status">
=>
  1. <form method="post" action="" name="edit">
  2. ...
  3. <input type="button" value="Wijzig status" onclick="CheckStatus()">

Offline Dark_Paul - 24/07/2006 12:06
Avatar van Dark_Paul PHP ver gevorderde jawel, maar 't moet in een onsubmit toch? want als je met enter submit, werkt 't niet.. ik heb 't gewoon in een html-bestand gezet, en daar werkt 't ook met de onsubmit="CheckStatus()". Maar daar wordt nu ook geen ?actie=yes of ?actie=no meer ingezet.
't werkt nu wel met een onclick op de button. maar waarom werkt de onsubmit dan niet?
ik loop nu ook gelijk tegen mn 2e probleem aan. Javascript maakt van de url ?actie=yes. maar hoe laat ik wat al in de url stond (?page=beheer) in de url staan? zodat de url wordt: ?page=beheer?actie=yes (o.i.d.)
Offline haytjes - 24/07/2006 12:15 (laatste wijziging 24/07/2006 12:23)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
  1. <html>
  2. <head>
  3. <script>
  4. function CheckStatus()
  5. {
  6. var statusveld = document.forms['edit'].elements['uStatus'];
  7. var bericht = 'Weet je zeker dat je deze persoon status beheerder wilt geven? Hij of zij kan hiermee jou status als beheerder afnamen.';
  8. if (statusveld.options.selectedIndex == 1) {
  9. if (window.confirm(bericht)) {
  10. location.href = '?actie=yes';
  11. }
  12. else {
  13. location.href = '?actie=no';
  14. }
  15. }
  16. else {
  17. location.href = '?actie=yes';
  18. }
  19. return false;
  20. }
  21. </script>
  22. </head>
  23. <body>
  24. <form method="post" action="" name="edit" onsubmit="return CheckStatus()">
  25. <select name="uStatus">
  26. <option value="0">Lid</option>
  27. <option value="1">Beheerder</option>
  28. </select>
  29. <input type="hidden" name="edit">
  30. <input type="submit" value="Wijzig status" >
  31. </form>
  32. </body>
  33. </html>


je moet dan de submit cancellen, wat ik hier dus doe. 'k Ben nu bezig voor de url, maar het houd in dat je de url uitleest en alles ervanachter haalt...

[edit]
en hierzo, zodat hij alles terugzet
  1. <script>
  2. function CheckStatus()
  3. {
  4. var statusveld = document.forms['edit'].elements['uStatus'];
  5. var bericht = 'Weet je zeker dat je deze persoon status beheerder wilt geven? Hij of zij kan hiermee jou status als beheerder afnamen.';
  6. if(location.href.indexOf("?") != -1) {
  7. var loc = location.href.substring(location.href.indexOf("?"),location.href.length)+"&";
  8. } else{
  9. var loc = "?";
  10. }
  11.  
  12. if (statusveld.options.selectedIndex == 1) {
  13. if (window.confirm(bericht)) {
  14. location.href = loc+'actie=yes';
  15. }
  16. else {
  17. location.href = loc+'actie=no';
  18. }
  19. }
  20. else {
  21. location.href = loc+'actie=yes';
  22. }
  23. return false;
  24. }
  25. </script>
Offline Dark_Paul - 24/07/2006 12:29
Avatar van Dark_Paul PHP ver gevorderde als je returned met true of false en daarmee de post onderbreekt, dan heb ik in feite de url niet meer nodig, of wel? want ik lees nu uit de url of ik moet updaten. en dan kan ik er altijd nog een window.alert achteraan zetten..
Offline haytjes - 24/07/2006 12:44
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
je kan inderdaad dit proces veranderen en alleen submitten als er window.confirm(bericht) true geeft. Dit lijkt mij ook logischer.
Offline Dark_Paul - 24/07/2006 12:53 (laatste wijziging 24/07/2006 13:10)
Avatar van Dark_Paul PHP ver gevorderde jah, maar ik had daar nog niet aan gedacht ik had laatst dit script gezien, zoiets wilde ik toevoegen aan de pagina. toen had ik hier gevraagd hoe ik dat op kon lossen, dat ie doorging met 't script als er op OK was geklikt. iemand zei toen dat ik dan ?actie=update o.i.d. in de url moest zetten, en dat dan controleren. true en false had ik nog niet aan gedacht ;)
alvast bedankt voor alle moeite!!!! ik ga 't even testen, en dan hoor je 't!
ik kom er nog niet uit. hij doet op dit moment helemaal niets. ik heb window.alert's in 't javascriptje gezet om te controleren, maar er gebeurt helemaal niets.
javascriptje:
  1. function CheckStatus() {
  2. var statusveld = document.forms['edit'].elements['uStatus'];
  3. var bericht = 'Weet je zeker dat je deze persoon status beheerder wilt geven? Hij of zij kan hiermee jou status als beheerder afnamen.';
  4. if (statusveld.options.selectedIndex == 1) {
  5. if (window.confirm(bericht)) {
  6. return true;
  7. window.alert('Je hebt geaccepteerd.');
  8. }
  9. else {
  10. return false;
  11. window.alert('Je hebt geannuleerd.');
  12. }
  13. }
  14. else {
  15. return true;
  16. window.alert('De status wordt geupdate.');
  17. }
  18. }

mijn form:
  1. <form method="post" action="" name="edit" onsubmit="return CheckStatus()">
  2. <select name="uStatus">
  3. <option value="0">Lid</option>
  4. <option value="1">Beheerder</option>
  5. </select>
  6. <input type="hidden" name="edit">
  7. <input type="button" value="Wijzig status">
  8. </form>
Offline haytjes - 24/07/2006 13:22 (laatste wijziging 24/07/2006 13:22)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
dat is normaal. Na een return stopt het script.
vb:
  1. function test()
  2. {
  3. alert(1); //wordt uitgevoerd
  4. if(true)
  5. {
  6. return false; //wordt uitgevoerd
  7. alert(1); //wordt niet meer uitgevoerd (staat achter return, het script is gestopt)
  8. }
  9. alert(1); //wordt niet meer uitgevoerd (staat achter return, het script is gestopt)
  10. return true; //wordt niet meer uitgevoerd (staat achter return, het script is gestopt)
  11. alert(1); //wordt niet meer uitgevoerd (staat achter return, het script is gestopt)
  12. }

nog een vb:
  1. function test()
  2. {
  3. alert(1); //wordt uitgevoerd
  4. if(false)
  5. {
  6. return false; //wordt niet uitgevoerd (if is false)
  7. alert(1); //wordt niet uitgevoerd (if is false)
  8. }
  9. alert(1); //wordt uitgevoerd
  10. return true; //wordt uitgevoerd
  11. alert(1); //wordt niet meer uitgevoerd (staat achter return, het script is gestopt)
  12. alert(1); //wordt niet meer uitgevoerd (staat achter return, het script is gestopt)
  13. }
Offline Dark_Paul - 24/07/2006 14:02
Avatar van Dark_Paul PHP ver gevorderde JEEEEJ!!! 't werkt nu heel erg bedankt voor alle moeite!!! 
de code nu:
  1. <script type="text/javascript">
  2. function CheckStatus() {
  3. var statusveld = document.forms['edit'].elements['uStatus'];
  4. var bericht = 'Weet je zeker dat je deze persoon status beheerder wilt geven? Hij of zij kan hiermee jou status als beheerder afnamen.';
  5. if (statusveld.options.selectedIndex == 1) {
  6. if (window.confirm(bericht)) {
  7. return true;
  8. }
  9. else {
  10. return false;
  11. }
  12. }
  13. else {
  14. return true;
  15. }
  16. }
  17. </script>

en de form:
  1. <form method="post" action="" name="edit" onsubmit="return CheckStatus()">
  2. <select name="uStatus">
  3. <option value="0">Lid</option>
  4. <option value="1">Beheerder</option>
  5. </select>
  6. <input type="hidden" name="edit">
  7. <input type="submit" value="Wijzig status">
  8. </form>

Jeej:D
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.481s