Je pense que cela devrait être assez facile, je ne trouve tout simplement pas de réponse pour cela. J'utilise un Codeigniter pour une application CRUD simple. Il affiche le résultat dans le tableau. Ce que j'ai fait, était d'utiliser jQuery .ajax
pour soumettre le formulaire. Cela fonctionne (presque) parfaitement.CodeIgniter + jQuery .ajax formulaire soumettre les résultats de retour dans un tableau
Je suis en mesure de soumettre un formulaire sans recharger mais les résultats ne sont pas affichés à moins que je recharge la page. Pour l'instant j'utilise location.reload();
mais ça n'a aucun sens, après toutes mes intentions de ne pas recharger la page.
Je sais que je devrais faire écho aux données, mais je n'ai aucune idée de comment le faire avec CI.
Quelques: intérieurs
jQuery partie
$("#add_form").submit(function(e) {
e.preventDefault();
var dataString = $("#add_form").serialize();
$.ajax({
type: "POST",
url: "add",
data: dataString,
success: function() {
$("#lightbox").fadeIn(300).delay(1000).fadeOut(300);
$("#notification-box").show();
$("#notification-box").html('<p>Saving</p>');
$("#addrow").hide();
location.reload();
}
});
});
partie contrôleur
function add()
{
if(!$this->ion_auth->logged_in())
{
redirect('auth/login', 'refresh');
}else
{
// User ID
$user_data = $this->ion_auth->get_user();
$user = $user_data->id;
// Prepare post data
$data['user'] = $user;
$data['cdate'] = date('Y-m-d');
$data['ctime'] = date('H:i:s');
$data['mdate'] = date('Y-m-d');
$data['mtime'] = date('H:i:s');
$pair_value = $this->input->post('vpair');
if(empty($pair_value))
{
$data['pair'] = "no pair";
}else
{
$data['pair'] = $pair_value;
}
$reason_value = $this->input->post('reason');
if(empty($reason_value))
{
$data['reason'] = "";
}else
{
$data['reason'] = $reason_value;
}
$comment_value = $this->input->post('comment');
if(empty($comment_value))
{
$data['comment'] = "";
}else
{
$data['comment'] = $comment_value;
}
// Insert_data
$this->journal_model->add_trade($data);
}
}
Aide? N'importe qui?
Cheers,
/J
pour commencer 'url: « ajouter »,' dans votre JS n'est pas un bon départ, ce qui est votre nom du contrôleur, et vous ne pouvez pas faire une redirection si vous faites ajax, ne fonctionne pas comme ça, s'il vous plaît mettez votre contrôleur complet. – RobertPitt
bien ... cela fonctionne certainement ... comme lire et ajouter des fonctions sont dans le même contrôleur. Je l'ai utilisé plusieurs fois, je n'ai jamais eu de problème avec ça. –
Je n'ai jamais dit que ça ne fonctionnait pas, je parlais de la façon dont vous structurez votre chemin, dans votre template de tête vous devriez avoir une variable javascript contenant votre racine_site, puis dans le fichier js vous devriez utiliser le 'url: site_root +'/method/param ",' cela vous donnera plus de stabilité. – RobertPitt