06. februar 2003 - 21:34Der er
26 kommentarer og 1 løsning
onsubmit="[script]" virker ikke
Jer har lavet en form hvor man skal kunne indsætte en ny artikel.
Formen virker så hvis en bruger har glemt at indtaste et felt, og kommer til at sende, så forbliver de øvrige indskrevet felter der stadigvæk.
Problemet er når den endelig er sendt så virker min ryd knap ikke mere. Det gør så ikke så meget, for man skal ikke komme til at indsende den samme artikel 2 gange. Ferfor vil jeg have onsubmit til at slette alt hvad der står i disse felter, så den er klar til næste artikel.
Ps. Jeg vil selvfølgelig stadig gerne have ryd til at virke 100%, ellers virker den netop ikke når man vil skrive den næste artikel ind!!
Min kode:
<form method=post action="<?php echo $PHP_SELF; ?>"> <input type="hidden" name="send_artikel" value="send_artikel"> Forfatter: <br> <input type="text" size="30" name ="forfatter" value="<?php if(isset($_POST['forfatter'])) echo $_POST['forfatter'];?>"><br><br> Overskrift:<br> <input type="text" size="60" name ="overskrift" value="<?php if(isset($_POST['overskrift'])) echo $_POST['overskrift'];?>"><br><br> Indhold: <br> <textarea type="text" name ="tekst" rows="10" cols="50"><?php if(isset($_POST['tekst'])) echo $_POST['tekst'];?></textarea><br> <input type="submit" value="Send" onsubmit="<?php if(isset($_POST['forfatter']) OR isset($_POST['overskrift']) OR isset($_POST['teskst'])){ echo "";}?>"> <input type="reset" value="Ryd felter" onreset="<?php if(isset($_POST['forfatter']) OR isset($_POST['overskrift']) OR isset($_POST['teskst'])){ echo "";}?>"> </form>
egentlig er det det samme jeg gør ved onresset og onsubmit, så jeg håber på en anden løsning.
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
erm - der _står_ teknisk set heller ikke noget...PHP-koden forsvinder jo når den bliver sendt til browseren...du kan kun skrive javascript i onsubmit-felter :P
OK, først skal du vide at reset knappen gendanner formen som den blev loadet. Eftersom du hele tiden loader formen med de tidligere data, så kommer der data i den loadede udgave.
Kan du ikke bare nulstille felterne før du viser formen igen, hvis alle data var der?
hm, forstår heller ikke helt dit spm, (nu hvor jeg har læst det igennem!!!) En brugersender en halvt udfyldt form, og det virker selvf. ikke! Men hvorfor skal brgeren så starte på en ny artikel? Når nu den første ikke gik igennem?
jeg tror jeg ved hvad du mener!! Jeg har da også lavet andre forms på denne måde)
Ideen med den her form er at php-koden står på samme side som min form, og derfor vil jeg ikke redirecte. Blot sige om indsættelse er gået godt/skidt eller informere om hvis ikke alle felter er udfyldt. Min submit og ryd felter skal begge kunne slette indhold i alle felter (dog skal submit kun gøre det hvis de alle er udfyldt...da den jo så er sendt afsted).
Efter min mening er det nu bedst at supplere med client-side validering (altså javascript). Så slipper brugeren for at submitte formen for at finde ud af at den ikke var helt udfyldt og du kan også styre hvor cursoren skal stå..
ja...jeg hører dig :-) , det er nok også mere en principsag.
miraculix -> Grunden til at jeg ikke tror jeg kan gøre som du skriver med $_POST['FORFATTER'] = ""; er fordi den returnere jo ikke værdien ned i formen. Efter koden er kørt iggennem forbliver formen, der bliver ikke redirektet til en ny...hmmmmen det er måske den eneste mulighed så. Altså når koden har kørt korrekt så redirecte til den samme side igen. Prøver den lige
miraculix -> AHHHHHHH...takker for en 100% løsning, det var lige det der skulle til.
Jeg nulstillede alle felterne (f.eks. $_POST['FORFATTER'] = ""; ) i php-koden, så blev de også nulstillet i formen, smart det var jeg ikke klar over var muligt. Lige det jeg ville have uden at redirecte.
hvis i vil se det så kig her... http://www.chelth.dk under indsæt nyheder og vis nyheder. Det er rimelig nemt at få noget til at virke, det svære er at håndtere alle fejlene.
takker mange gange...må hellere lukke inden nogle bliver sure.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.