Copy Posted December 14, 2007 Report Share Posted December 14, 2007 (edited) Sveiki! Lieta tāda, ka taisu vēstuļu sistēmu uz PHP. Lai izdzēstu vēstules izmantoju checkbox iespēju, kur ar vienas pogas palīdzību "Atzīmēt visas!" tiek atķeksēti visi checkboxi un tad ar submit pogu tālāk padots uz mysql vaicājumu, kas savukārt visas ieķesētās vēstules izdzēš pēc vēstuļu ID. Tik tālu man viss iet un ir kārtībā. Problēma ir ar "Atķesēt visu!" javascript pogu. Tad nu sekojoši kodi: Šis ir koda gabaliņš, kas liekas iekš <head> tagiem. <script LANGUAGE="JavaScript"> function Check(chk) { if(document.myform.Check_All.value=="Atzīmēt visas"){ for (i = 0; i < chk.length; i++) chk[i].checked = true; document.myform.Check_All.value="Atcelt visas"; }else{ for (i = 0; i < chk.length; i++) chk[i].checked = false; document.myform.Check_All.value="Atzīmēt visas"; } } </script> Šeit checkbox pogas. <form name="myform" action="del.php" method="post"> <input type="checkbox" name="check_list[]" value="$row[id]"> #$row[id] ir vēstules ID. <input type="button" name="Check_All" value="Atzīmēt visas" onClick="Check(document.myform.check_list)"> #Šī ir poga, kas ieķesē visu. <input type="submit" NAME="dzest" VALUE="Dzēst atzīmētās!"> #Šī poga padod POST tālāk. </form> Šeit vaicājums. $ids = implode(',', $_POST["check_list"]); $sql = "DELETE FROM email where id IN ($ids)"; Tad nu ar šo kodu, ir sekojoši: ja es tās vēstules (teiksim ir 5) atķesēju manuāli katru atsevišķi, tad viss notiek, tiek padots post un attiecīgi atķesētās vēstules izdzēšas, bet "Atzīmēt visas!" poga nestrādā. Ja es nodzēšu kvadrātiekavas [] no šejienes name="check_list", tad poga "Atzīmēt visas!" strādā nevainojami, tiek atķesēti visi ieraksti, bet tad savukārt nestrādā vairs mysql vaicājums, kurš savukārt izmet error: function.implode not right syntax ... Kāds varētu man palīdzēt ar šo problēmu, kā lai liek visam ieķeksēties un likt izdzēst bez problēmām. Saprotu ka [] iekavām ir jābūt, jo tiek veidots masīvs, ja nebūs [], tad jams visas nevarēs dzēst. Edited December 14, 2007 by Copy Link to comment Share on other sites More sharing options...
Kristabs Posted December 14, 2007 Report Share Posted December 14, 2007 Paņēmu no viena esoša: Check all: <input id="pasts_ch" name="check_all" onclick="pasts_ch_all('pasts_ch','del_msg[]');" type="checkbox"> Formās: <input name="del_msg[]" type="checkbox"> un js: function pasts_ch_all(self,elem){ var status = document.getElementById(self).checked; var elems = document.getElementsByName(elem); for (var i=0, count=elems.length; i<count; ++i) { elems.checked = status; } } Link to comment Share on other sites More sharing options...
andrisp Posted December 14, 2007 Report Share Posted December 14, 2007 Man slinkums pētīt to, ko tu esi sarakstījis, bet es būtu visiem tiem čekbokšiem iedevis kaut kādu klases nosaukumu un pēc tam 1) ja izmantotu kādu JS librariju, tad ar tās palīdzību izskrietu cauri visiem tās klases elementiem un atzīmētu (piem., jquery - $('bla').attr('checked', 'checked'); ) 2) izmantotu http://www.robertnyman.com/2005/11/07/the-...ntsbyclassname/ funkciju. Link to comment Share on other sites More sharing options...
Copy Posted December 14, 2007 Author Report Share Posted December 14, 2007 Paldies Kristabs, tavs variants strādā nevainojami, viss smuki ieķesējas un padodas uz dzēšanu tālāk .. tnx .. ;) Link to comment Share on other sites More sharing options...
Recommended Posts