我有一個簡單的表格我TMPL /如default.php:與Joomla組件刷新頁面
<form id='AddForm' action="<?php echo JRoute::_('index.php?option=com_mycomponent&task=addcam'); ?>" >
<p>
<label for="CamName">Name:
</label>
<input type="text" id="CamName" name="cam_name" />
</p>
<button type='submit' class='submit_cam' name='addcam' value='Add'>Add</button>
<button type='reset' class='cancel_changes' name='cancel_changes' value='Cancel'>Cancel</button>
</form>
在我Controller.php這樣的文件我試圖處理值:
function addcam()
{
$add_name=JRequest::getString('cam_name');
$model = &$this->getModel();
$model->AddWebcam($add_name); //send to model to add to DB
}
在我的模型中,我只返回查詢的結果。通過這個實現,我只是被路由到一個空白頁面。我想讓它刷新當前頁面。通常你用action=""
這樣做,但在我的情況下,我需要它路由到控制器中的名爲addcam
的功能。還是有更好的方法來做到這一點?
看起來不錯,而且我經常這樣做,所以它應該可以工作。注意幾個奇怪的項目。我會將構建動作的php換成引號('action =「<?php echo JRoute ...;?>」')。輸入框的名稱與您在控制器中請求的字符串('cam_name' v。'camname')不同。 – 2013-04-22 15:56:18
@DavidFritsch謝謝!愚蠢的引號。我編輯了這個問題,因爲那是我的無恥之舉。所以,也許你知道下一個蹩腳問題的答案:) – Tom 2013-04-22 17:06:54
它看起來像你這樣做。你可以在函數結尾處執行'var_dump($ add_name);'來查看你是否正在進入這個函數? – 2013-04-22 17:24:10