CodeIgniter aktualisieren der Seite nach dem Formular Absenden
Ich versuche so aktualisieren Sie eine Seite über CodeIgniter, aber ich kann nicht scheinen, um diese zu arbeiten.
Grundsätzlich haben wir eine Liste der Aufträge auf einer Seite und ein Benutzer hat die option zum filtern der sagte jobs.
So, dass ein Benutzer Checkboxen und klicken Sie dann auf speichern, um Ihre Auswahl zu einer Datenbank basierend auf Ihrer Benutzer-id.
Ich werde natürlich müssen die Daten aktualisiert werden, sobald Sie gespeichert haben, Ihre Auswahl, aber ich habe versucht, viele Dinge, und dieses scheint nicht, überhaupt zu arbeiten. Ich nehme an, ich habe die Umleitung in der falschen Stelle, die derzeit in der controller.
Ich habe versucht, die folgenden:
$this->load->helper('url');
redirect('dashboard', 'refresh');
Aber es passiert nichts.
Habe ich die oben genannten Umleitung in der controller-Funktion:
public function save_filters() {
if (isset($_POST)){
$filters = $_POST['client_ids'];
}
$this->load->model('dashboard_model');
$this->dashboard_model->update_dashboard_filters($filters);
$this->load->helper('url');
redirect('dashboard', 'refresh');
}
Habe ich es in der falschen Stelle?
Bekomme ich keine Fehler oder Warnungen vom firebug?
Form:
<form id="filters_form">
<table>
<tr>
<td>
<label for="GAB Robins">GAB Robins </label><input type="checkbox" name="client_ids[]" value="4">
</td>
<td>
<label for="Cunningham Lindsay">Cunningham Lindsay </label><input type="checkbox" name="client_ids[]" value="5">
</td>
<td>
<label for="Lloyds">Lloyds </label><input type="checkbox" name="client_ids[]" value="7">
</td>
<td>
<label for="Sundry/Private">Sundry/Private </label><input type="checkbox" name="client_ids[]" value="9">
</td>
<td>
<label for="WNS Ltd">WNS Ltd </label><input type="checkbox" name="client_ids[]" value="4441">
</td>
<td>
<label for="Stream">Stream </label><input type="checkbox" name="client_ids[]" value="4493">
</td>
<td>
<label for="Redesign">Redesign </label><input type="checkbox" name="client_ids[]" value="5295">
</td>
</tr>
</table>
<input type="button" value="Save selections" name="save_filters" id="save_filters_button" />
</form>
Javascript, beschäftigt sich mit der form
save_filter: function () {
$.post('/dashboard/save_filters', $('#filters_form').serialize(), function (response) {
if (response.status == 'ok') {
if ($('.ui-success').length == 0) {
$('#page_main').before('<div class="ui-success" style="margin-bottom: 1em; font-weight: bold; border-bottom: 1px solid #ccc; padding: 1em;"><img src="/common/images/icons/accept.png" style="margin-right: 10px;" align="absmiddle" />Filters saved!</div>').fadeIn(1000);
}
}
else {
$(response.errors).each(function (i, item) {
alert(item);
});
}
});
}
Formular Hinzugefügt, um die post
InformationsquelleAutor frobak | 2015-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen Sie die Aktion in der form
action="<?php base_url(); ?>controller_name/function_name"
undmethod="post"
Beispiel:
UPDATE: Weil Sie mit JS, Sie sind nicht erfrischenden Seite. Nicht JS verwenden, wenn Sie möchten, um die Seite zu aktualisieren.
zeigen JS-code bitte?
Super, danke. Das klappte Absenden des Formulars an die Funktion und nicht über javascript!
Sie können auch umleiten mit JS, wenn Sie wollen, aber mit der form wird schneller und besser. Akzeptieren sich die Frage, ob es dir helfen. Dank
InformationsquelleAutor Erman Belegu
Seine nicht funktioniert, weil Sie haben eine Ajax-Anforderung, und Sie machen kann, redirect auf dem server, bevor Sie die Daten ausgeben, JavaScript, gemacht, die Anfrage.
können Sie machen Umleitung basierend auf Ihre Reaktion
InformationsquelleAutor Yes Kay Selva