cakephp将字符串传递给控制器

cakephp将字符串传递给控制器,cakephp,Cakephp,我有这个程序,我需要处理一个文本文件。 对于用户选择文件,我使用以下方法: <?php echo $this->Form->file('prodfile'); ?> 它提供一个浏览器按钮和一个带有选定文件路径的输入 用户浏览文件后,单击我的链接触发该方法 如何将“prodfile”输入上的字符串值添加到链接(如此链接) <?php echo $this->Html->link(__('Process File'), array('controlle

我有这个程序,我需要处理一个文本文件。 对于用户选择文件,我使用以下方法:

<?php echo $this->Form->file('prodfile'); ?>

它提供一个浏览器按钮和一个带有选定文件路径的输入

用户浏览文件后,单击我的链接触发该方法

如何将“prodfile”输入上的字符串值添加到链接(如此链接)

<?php echo $this->Html->link(__('Process File'), array('controller' => 'qcas', 'action' => 'loadProdFromFile', 'dataFile' => $this->data['Project']['prodfile'], 'dirId' => $dirs['id']),  null, __('Please confirm you want to Load Production from File for Dir %s?', $dirs['dir_dataname'])); ?>

尝试了前者,但由于我没有提交表单,“prodfile”上的值没有到达控制器

如何将此文件输入上的字符串值传递给控制器?(只需要字符串就可以在控制器上解析和构建正确的路径)

更新:为了实现这一点,我目前正在尝试使用Ajax,但如果有人能提出不同的方法,请尝试

你能帮忙吗


非常感谢

在没有ajax的情况下,我使用javascript通过触发链接上的参数将用于解析的字符串(文件的完整路径)传递给服务器

1.-用户拿起一个文件

<?php echo $this->Form->file('prodfile', array('onchange' => "getFile();")); ?>
(getFile() only saves current href on my links - step 3-)
3.-这是原始链接(其中一些链接是通过友好方式创建的

echo $this->Html->link(__('LFF'), array('controller' => 'qcas', 'action' => 'loadProdFromFile', 'dirId' => $dirs['id']), array('name' => 'lff', 'id' => 'lff' . $i));

    function getFile() {
        document.getElementById('fullPath').value = '';
        var sHref = document.getElementsByName('lff');
        var len = sHref.length;
        // only the first time, save original hRef
        if ( preValues.length == 0) {   
            for (var i=0; i<len; ++i) {
                preValues[i] = sHref[i].href;
            }
        } else {
            for (var i=0; i<len; ++i) {
                sHref[i].href = preValues[i];
            }
        }
    }        

    function assignPath() {
        var finalPath = document.getElementById('fullPath').value;
        var sHref = document.getElementsByName('lff');
        var len = sHref.length;
        for (var i=0; i<len; ++i) {
            sHref[i].href = sHref[i].href + '/filePath:'+finalPath;
        }        
    }     
echo$this->Html->link('LFF')、数组('controller'=>'qcas','action'=>'loadProdFromFile','dirId'=>$dirs['id'])、数组('name'=>'LFF','id'=>'LFF'.$i));
函数getFile(){
document.getElementById('fullPath')。值=“”;
var sHref=document.getElementsByName('lff');
var len=sHref.length;
//仅第一次,保存原始hRef
如果(preValues.length==0){
对于(var i=0;i
echo $this->Html->link(__('LFF'), array('controller' => 'qcas', 'action' => 'loadProdFromFile', 'dirId' => $dirs['id']), array('name' => 'lff', 'id' => 'lff' . $i));

    function getFile() {
        document.getElementById('fullPath').value = '';
        var sHref = document.getElementsByName('lff');
        var len = sHref.length;
        // only the first time, save original hRef
        if ( preValues.length == 0) {   
            for (var i=0; i<len; ++i) {
                preValues[i] = sHref[i].href;
            }
        } else {
            for (var i=0; i<len; ++i) {
                sHref[i].href = preValues[i];
            }
        }
    }        

    function assignPath() {
        var finalPath = document.getElementById('fullPath').value;
        var sHref = document.getElementsByName('lff');
        var len = sHref.length;
        for (var i=0; i<len; ++i) {
            sHref[i].href = sHref[i].href + '/filePath:'+finalPath;
        }        
    }