Javascript-confirm-delete
Bin ein einfaches cms und ich habe die folgenden
<input type="submit" value="delete" title="Delete Aricle(s)" id="delete_btn" onclick="delete_confirm()" />
<tbody>
<?php foreach ($articles as $article): ?>
<tr>
<td align="center">
<input id="article_id"name="article[]" type="checkbox" value="<?php echo $article->id; ?>" /></td>
<td align="center"><?php echo anchor('admin/articles/edit/'.$article->id,$article->title); ?></td>
<td align="center"><?php echo $article->author; ?></td>
<td align="center"><?php echo $article->category; ?></td>
<td align="center"><?php published($article->post_status); ?></td>
<td align="center"><?php featured($article->featured); ?></td>
<td align="center"><?php echo $article->views; ?></td>
<td align="center"><?php echo $article->post_date; ?></td>
</tr>
<?php endforeach;?>
</tbody>
Den oben genannten code, verpackt in einem form-tag
Dies ist mein javascript-code
function delete_confirm() {
var msg = confirm('Are you sure you want to delete the selected article(s)');
if(msg == false) {
return false;
}
}
Dies ist die löschen-Funktion in meinem controller
function articles_delete() {
//Load Model
$this->load->model("article_model");
//Assign article id to variable
$checkbox = $_POST['article'];
//loop through selected checkbox
for($i = 0; $i < count($checkbox); $i++) {
//Call delete method of the article model
$this->article_model->delete($checkbox[$i]);
}
$this->session->set_flashdata("message","Article(s) Deleted");
redirect("admin/articles","refresh");
}
Aber wenn auf Abbrechen geklickt wird in der confirm-dialog der form noch noch vorlegen und die ausgewählten Artikel gelöscht.
Bitte Rat, was zu tun
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
<input type="submit" value="delete" title="Delete Aricle(s)" id="delete_btn" onclick="delete_confirm()" />
zu
<input type="submit" value="delete" title="Delete Aricle(s)" id="delete_btn" onclick="return delete_confirm();" />
Läuft bist du der delete_confirm () - Funktion in der onclick-Funktion. Sie müssen den Wert false zurück aus der onclick () - Funktion selbst.
versuchen
onSubmit
stattonClick
.Was Sie tun müssen, ist so etwas wie dieses:
Wenn das Formular abgeschickt wird über die
type="submit"
-button, wird Ihredelete_confirm()
-Funktion aufgerufen wird. Wenn es zurücktrue
, wird das Formular gesendet. Wenn es zurückfalse
es nicht.Versuchen Sie es mit AJAX aufrufen, die PHP-Skript aus Javascript.
Dies bedeutet, stellen Sie die input-Taste, geben Sie die Schaltfläche
<input type="button" />
und ändern die onclick-so, dass wenn auf Abbrechen gedrückt wird, wird false zurückgegeben (wie das, was Sie getan hat) oder, wenn OK gedrückt wird, laufen die AJAX-Skript und leiten Sie die Seite, wenn erforderlich...Könnten Sie schreiben, die AJAX-server-Seite (PHP -) Skript in eine separate Datei, und senden Sie die Parameter mit $_GET.
delete_confirm()
muss immer wiederfalse
in Ihrem Fall.Möchten Sie die löschen bestätigen-Funktion, um Ihre
onsubmit
- Attribut des form. Dass es auf das input-element ist nicht genug.Vielleicht versuchen, Sie zu nutzen: