ugrás a tartalomhoz

Törlés megerősitése

aky22 · 2011. Júl. 2. (Szo), 16.07
Lécci segítsetek! Van egy oldal ahol a törléshez megerősítés kéne, de ha a mégse gombra kattintok akkor is törli azt a sort (adatbázisról van szó). itt a script:
<script type="text/javascript">
			function elhagyod()
				{
					var elhagy=confirm("Valóban törlöd a bejegyzést?");
					if (elhagy==true)
					{
						window.open("delete.php","_self");	
					}
					else
					{
						return false
					}
				}
</script>
és a php (ez a button oldali rész):
<?php
				require_once("../include/dbconn.php");
				$p="SELECT * FROM `news`";
				$e=mysql_query($p);
				echo '<p><a href="news.php?i=0"><img src="img/psd-new-button.png" alt="Hír feltöltése" border="none" /></a></p>';
				echo '<table id="newstb" cellpadding="0" cellspacing="0" border="0" class="display">';
				echo '<thead>
						<tr>
							<th>ID</th>
							<th>Cím</th>
							<th>Tartalom</th>
							<th>Írta</th>
							<th>Létrehozva</th>
							<th>Módosítás</th>
						</tr>
						</thead>';
				echo '<tbody>';
				while ($row=mysql_fetch_assoc($e))
				{
				echo '<tr>
							<td>'.$row['id'].'</td>
							<td>'.$row['title'].'</td>
							<td>'.$row['content'].'</td>
							<td>'.$row['name'].'</td>
							<td>'.$row['date'].'</td>
							<td><a href="modification.php?id='.$row['id'].'"><img src="img/psd-m-button.png" alt="módosítás"></a><a href="delete.php?id='.$row['id'].'" onclick="elhagyod()"><img src="img/psd-m-button.png" alt="delete"></a></td>
						 </tr>';
				}
				echo '</tbody>';
				echo '</table>';
			}?>
 
1

return

DonPepito · 2011. Júl. 2. (Szo), 17.54
És ha az onclick-nél beteszed elé a return-t?
Így:

onclick="return elhagyod();"
2

Minek bonyolítod?

pkadam · 2011. Júl. 2. (Szo), 18.36
Egyrészt DonPepito jól szólt, másrészt minek bonyolítani a megerősítős szkriptet? (Ráadásul hibás is, mert egy paraméterezés nélküli delete.php oldalra irányítod át, igaz, ezt a böngésző nem veszi figyelembe, mert az <a> href-je élvez prioritást.) Ennyi elég lenne:

<script type="text/javascript">  
function elhagyod() {
	return confirm("Valóban törlöd a bejegyzést?");  
}
</script> 
Az elnevezést viszont érdemes lenne megváltoztatni, mert a függvény visszatérési értéke pont ellentétes lesz a nevével. Inkább megerosit(), és akkor a TRUE szemantikailag is a megerősítésre szól, nem pedig a művelet elhagyására.

(Meg esetleg a törlés megerősítéséhez még oda lehetne írni a kérdés alá az adott cikk címét, hogy a felhasználó biztosan tudja, mit töröl. Sőt: én sosem engedek törölni direkt url-ből (delete.php?id=123), az id-t mindig egy formmal passzoltatom ám, természetesen method="post"-tal. Persze ez hackelhető, de még mindig biztonságosabb.)
3

Köszi kipróbálom amint

aky22 · 2011. Júl. 2. (Szo), 19.27
Köszi kipróbálom amint rendbedobtam a jelenleg hulla gépemet. Remélem menni fog. A formról meg csak annyit hogy mondták már de ez így egyszerűbb főleg hogy csak az admin látja.