kasisppr Posted January 26, 2004 Report Share Posted January 26, 2004 Man ir tāda lieta. Esmu izveidojis formu, kura var būt tukša, bet dažreiz arī ir aipildīta, ja ir attiecīgs ieraksts. Tādējādi nošau 2 zaķus ar vienu šāvienu -pievienoju jaunu ierakstu un pamainu esošo. Problēma ir tur, ka vēlos pirms ieraksta veikšanas pārjautāt ar confirm box. Kad nospiežot OK būtu jāizpildās PHP f-jai, kas veic ierakstu. konstatēju, ka kaut kas nestrādā kā nākas. Tāpēc radās jautājums, vai Javascript-ā var izmantot PHP definētu funkciju? Piemēram: <form name="rez" method="post" action=""> <input type="hidden" name="date" value="<? echo $date; ?>"> <input type="text" name="Nosaukums" size="50" value="<? echo $Nosaukums; ?>"> <input type="submit" name="Submit" value="Saglabāt" onclick="checkSubmit()"> <script language="JavaScript"> <!-- function checkSubmit() var x = confirm("Saglabāt datus?") if (x == true) { pievienot() } else { history.back() } //--> </script> <? function pievienot() { $date = $_POST["date"]; $Nosaukums = $_POST["Nosaukums"]; //....... ierakstu datubāzē, pārbaudot, vai nav tukši ieraksti } Kur mans domu gājiens ir nepareizs? Kā man labāk rīkoties? <_< Link to comment Share on other sites More sharing options...
рпр Posted January 26, 2004 Report Share Posted January 26, 2004 nevar php ir server side skriptsm, bet php klientside... Link to comment Share on other sites More sharing options...
kasisppr Posted January 26, 2004 Author Report Share Posted January 26, 2004 (edited) :( Sūdīgi. Gribēju visas funkcijas vienā failā salikt, kuru pašā sākumā ar include_once() ielādēju un tādējādi apstrādāju datus. Nāksies taisīt speciālu failu, kas veic šo funkciju. Negribas, tādu stilu piekopt. <_< Edited January 26, 2004 by kasisppr Link to comment Share on other sites More sharing options...
Aleksejs Posted January 26, 2004 Report Share Posted January 26, 2004 Kāpēc gan tu to jautājumu nevarētu pavaicāt datu ievadīšanas beigās pie submit pogas nospiešanas? Ja pozitīva atbilde, tad nosūtās formas dati (un tātad normālā gadījumā tiek pievienoti), ja, nē, tad aiziet uz history.back. Link to comment Share on other sites More sharing options...
kasisppr Posted January 26, 2004 Author Report Share Posted January 26, 2004 Es jau tā arī daru, ka jautāju pašas formas beigās. Bet tur jau ir tā problēma, ka, veicot apstiprinājumu, es vēlos, lai izpildās funkcija, kas veic ierakstīšanu db. Taču Javascript -s neizpilda PHP funkciju. Link to comment Share on other sites More sharing options...
Venom Posted January 26, 2004 Report Share Posted January 26, 2004 tev ir <form> <input type="submit"> </form> pie submiteeshanas php apsraadaa forumas datus tu gribi pajautaat - vai submitot vai nee: <form onsubmit="return confirm('turpinaat')"> <input type="submit"> </form> pie submit pogas nospieshanas tiks izpildiits events "onsubmit", kursh brauzerim atgriezh veertiibu: false - nesubmitot, true - submitot lapu JS funkcija pie OK spieshanas atgriezh true, cancel - false kontrukcija onsubmit="return confirm('turpinaat')" atgriezh confirm rezultaatu kaa onsubmit eventa rezultaatu. vai izmanto ko liidziigu body onbeforeunload eventaa - nostraadaa preciizaak Laikam tas, ko vajadzeeja? Link to comment Share on other sites More sharing options...
рпр Posted January 27, 2004 Report Share Posted January 27, 2004 dari taa: <?php <form name="rez" method="post" action="php_skripts_kas_ieglabaa_datus_db.php" onSubmit="return confirm('turpināt?');"> <input type="hidden" name="date" value="<? echo $date; ?>"> <input type="text" name="Nosaukums" size="50" value="<? echo $Nosaukums; ?>"> <input type="submit" name="Submit" value="Saglabāt" onclick="checkSubmit()"> </form> ?> php_skripts_kas_ieglabaa_datus_db.php failaa veic savu pievienoshanu un visas citas nepiecieshamaas darbiibas. <?php //shis ir php_skripts_kas_ieglabaa_datus_db.php fails pievienot() ?> Link to comment Share on other sites More sharing options...
рпр Posted January 27, 2004 Report Share Posted January 27, 2004 <? echo '123 tests :)'; ?> Link to comment Share on other sites More sharing options...
Klez Posted January 27, 2004 Report Share Posted January 27, 2004 B) Finkcijas vajag defineet saakumaa! Link to comment Share on other sites More sharing options...
Aleksejs Posted January 27, 2004 Report Share Posted January 27, 2004 Precīzāk sakot, funkcijas vajag definēt pirms to izsaukšanas. ;) Link to comment Share on other sites More sharing options...
jb4 Posted January 27, 2004 Report Share Posted January 27, 2004 (edited) pnp, Aleksejs, Klez: pirms atbildat, izlasiet jautājumu un trīsreiz pārjautājiet sev spogulī skatoties vai saprotat ko runājat. Pareizi atbildēja tikai Venom. Visus pārējos var nelasīt. Jautātāj: izklausās, ka tu gribi nošaut nevis 2 zaķus, bet 22 lāčus uzreiz, respektīvi, uzdod jautājumu par vienu tēmu. Jautājuma uzdošana "Vai vēlies saglabāt informāciju?" un jauna ieraksta pievienošanas apvienošana ar veca ieraksta labošanu ir divas dažādas operas. Ja vēlies formu izmantot diviem nolūkiem, tad ar php ģenerē lauciņu <input type="hidden" name="tips" value="jauns" /> vai <input type="hidden" name="tips" value="vecs" />, kas norādīs vai tiek veidots jauns ieraksts datubāzē vai labots vecais. ja tiek labots vecais, tad ievieto vecā vērtības attiecīgajos lauciņos definējot value="" iekš šitādiem: input type="text" name="mainiga_nosaukums" value="<?php echo $mainiga_vertiba; ?>" ... Jautājumu uzdod tā kā aprakstīja Venom. Formas apstrādes skriptā skaties kāds ir $_REQUEST['tips'] mainīgais. Ja tas ir "jauns", tad tev jāpievieno ieraksts, ja "vecs", tad jālabo. Informāciju par to, kuru ierakstu labosi, nodod ar vēl vienu <input type="hidden" lauciņu, kuru nosauc par id vai kaut ko tādu. Tad veic pieprasījumu aptuveni šādu: UPDATE tabula SET .... WHERE id='{$_REQUEST['id']}' ... Atbildētājiem: Stulbi ir nepalīdzēt, bet vēl stulbāk nepareizi palīdzēt. Te ar php funkciju definēšanas kārtību nav nekāda sakara un iekš PHP funkcijas var definēt i pirms i pēc lietošanas (viena faila ietvaros). Vienīgā taisnība bija tāda, ka PHP un Javascript nekādi nav sasaistāmi. Edited January 27, 2004 by jb4 Link to comment Share on other sites More sharing options...
Aleksejs Posted January 27, 2004 Report Share Posted January 27, 2004 (edited) Apskatījos sapratu. :P ____________________ Kļūdīties ir cilvēcīgi... Nekļūdās vienīgi jb4. Visgudrākais no gudrākajiem ar visgaišāko no gaišajām galvām. Ak, svētī jel mani, un dod jel man kaut dzirksteli no tā apgarotības ugunskura, kas Tevī kvēl. :D Edited January 27, 2004 by Aleksejs Link to comment Share on other sites More sharing options...
jb4 Posted January 27, 2004 Report Share Posted January 27, 2004 kas tiesa, tas tiesa. peace, valmiera. :rolleyes: Link to comment Share on other sites More sharing options...
kasisppr Posted January 27, 2004 Author Report Share Posted January 27, 2004 Paldies par atsaucību! Izmēģināšu Venom variantu, nezināju, ka ir arī onSubmit. Biju pat vēl vienu citu variantu atradis, kurš likās ir galīgi :blink: , bet strādājošs. jb4: Vispār ir jau man tāds "id" kā hidden un pēc viņa es arī biju iecerējis nofiltrēt vai ir jauns ieraksts, vai tiek pārrakstīts vecais. Ielikšu savu gala risinājumu, kurš strādā. Link to comment Share on other sites More sharing options...
kasisppr Posted January 28, 2004 Author Report Share Posted January 28, 2004 (edited) Izveidoju savu variantu pēc šādas shēmas Koda gabals iekš paste.php.lv Bet ir viena problēma. Viss izpildās korekti, bet lai redzētu notikušās izmaiņas formā jāspiež refresh <_< Precizējums!!! Izrādās nestrādā uz IE 5.versijas, bet ar 6. nav problēmu. :) Edited January 30, 2004 by kasisppr Link to comment Share on other sites More sharing options...
Recommended Posts