J'ai un formulaire avec 4 listes déroulantes et un bouton soumettre. Quand un utilisateur clique sur le bouton soumettre je veux aller à mon contrôleur manipulant l'entrée/sortie donnant aux utilisateurs des choix, mais avec un URI correct.Codeigniter: Soumettre les paramètres au contrôleur, besoin correct URI
Les listes déroulantes sont générées dynamiquement à partir d'Ajax en fonction des choix des utilisateurs, barre la première liste déroulante. Ils travaillent absolument bien.
La méthode de gestion de l'entrée utilisateur se trouve dans ce contrôleur: /app/controllers/shop/kategorier
, méthode d'index ressemble à ceci:
public function index($fabrikat, $type, $model, $produktnr = '0')
{
// get all the data from the model
$data['all'] = $this->fetch->get_kategorier($fabrikat, $type, $model, $produktnr);
print_r($data['all']);
}
Mon but est la suivante: Lorsque les utilisateurs ont frappé le bouton d'envoi, je wan » t eux de voir la page avec cette URL exacte en incluant les paramètres, par exemple. http://app.com/shop/kategorier/index/LG/WASH/FL9834X/0/ C'est tout ce que je veux vraiment.
Remarque: L'accès à cette URL fonctionne correctement, et le contrôleur/modèle gère les paramètres comme ils le devraient.
Comment puis-je accomplir ceci? J'ai essayé deux choses, elles ont échoué toutes les deux. Sorte de.
J'ai essayé avec jQuery, et a généré une chaîne de encodedURL avec tous les paramètres avec un séparateur '/', et a changé le .attr ('href') sur soumettre. Mais ce fut un cauchemar, puisque certains des modèles $ peuvent être par exemple.
'CE1000C-T/XEE'
etc.J'ai essayé de faire une méthode « proxy » dans le contrôleur Kategorier prendre toutes les entrées-> postes et les annexant à un
redirect('kategorier/'.$fabrikat.'/'.$etc)
, mais c'était plutôt stupide.
Je préfère ne pas utiliser les chaînes de requête comme /kategorier?fabrikat=LG&type=WASH
etc
Ma forme ressemble à ceci:
<?php echo form_open('shop/kategorier/'); ?>
<select id="fabrikat" name="fabrikat">
<option name="0">Vælg Fabrikat</option>
<?php foreach ($fabrikater as $f) : ?>
<option value="<?php echo $f->Fabrikat; ?>" name="<?php echo $f->Fabrikat; ?>"><?php echo $f->Fabrikat; ?></option>
<?php endforeach; ?>
</select>
<select id="type" name="type">
</select>
<select id="model" name="model">
</select>
<div id="produktnummer-wrap" style="display:none">
<select id="produktnummer" name="produktnummer">
<option name="0" value="">Vælg Produktnummer</option>
</select>
</div>
<?php echo form_submit('findparts', 'Find Reservedele'); ?>
<?php echo form_close(); ?>
Je crois que je suis en quelque sorte les choses trop compliquer, mais maintenant je peux Je ne pense pas directement. Je serai plus qu'heureux d'élaborer quelque chose. J'espère vraiment que quelqu'un pourra m'aider, merci d'avance.
Merci pour votre contribution, je n'ai pas pu vous répondre plus tôt. – nielsiano