我有一個包含4個下拉列表和一個提交按鈕的表單。當用戶點擊提交按鈕時,我想要去我的控制器處理輸入/輸出給用戶的選擇,但是使用正確的URI。Codeigniter:提交參數給控制器,需要正確的URI
從Ajax動態生成下拉列表,取決於用戶的選擇,禁止第一個下拉菜單。他們工作得很好。
處理用戶輸入的方法位於該控制器:/app/controllers/shop/kategorier
,指數的方法是這樣的:
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']);
}
我的目標是:當用戶點擊提交按鈕,我琬t他們查看該網頁的確切URL 包括的參數,例如。 http://app.com/shop/kategorier/index/LG/WASH/FL9834X/0/這就是我真正想要的。
注意:手動訪問此URL工作正常,並且控制器/模型按照它們應該處理參數。
如何我完成了嗎?我試了兩件事,都失敗了。有點。
我試圖用jQuery,併產生了encodedURL字符串與所有的 參數用「/」分隔符,且上 改變.attr(「href」屬性)提交。但那是一場噩夢,因爲一些$模型可能是 例如。
'CE1000C-T/XEE'
等我試圖做一個「代理」方法在Kategorier 控制器把所有的輸入 - >帖子,並將其附加到一個
redirect('kategorier/'.$fabrikat.'/'.$etc)
,但是這是相當愚蠢的 。
我寧可不使用查詢字符串像/kategorier?fabrikat=LG&type=WASH
等
我的形式看起來像這樣:
<?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(); ?>
我相信我莫名其妙的事情過於複雜,但現在我可以不要直視。我會很樂意詳細說明任何事情。 我真的希望有人能夠幫助我,提前謝謝。
感謝您的輸入,我以前無法回答您。 – nielsiano