0

オプション値 1、2、および 3 を持つドロップダウン フォームがあります。このフォームが送信されると ( )、これらのオプションの 1 つをアクションに$this->Form->create('MyModel', array('action' => 'view'))渡される引数変数にして、を使用して適切なデータをロードします。viewcontroller/view/option_valueoption_value

option_valueこれをアクション引数として渡すことができないようです。これは POST データなのでoption_value、コントローラーでこれを使用できますが、URL にも値を含めるとよいと思いました。これview.ctpにより、ユーザーはいくつかのものを更新できるようになり、ユーザーをリダイレクトしたいからです。リファラーを簡単に。

何か案は?これはクライアント側の問題だと思います..しかし、私はまだJavascriptに慣れていません。

編集:これを行う方法をまだ検討しています..しかし、今のところoption_value、URLに含まれていないフォーム送信ページを、をoption_valueパラメーターとして同じページにリダイレクトしています。それは私が必要としているもので機能しますが、誰かが答えを追加したい場合は、感謝します!

4

1 に答える 1

0

jQuery の使用:

<?php

echo $this->Form->create('MyModel', array('id' => 'myForm', 'action' => 'view'));
echo $this->Form->input('MyField', array('id' => 'myField'));
echo $this->Html->scriptStart();
?>
    $('#myForm').on('submit', null, null, function(evt) {
        var form  = $('myForm'),
            field = $('#myField');

        form.action += "/" + field.value;
        form.submit();

        evt.stopPropagation();
    });
<?php
echo $this->Html->scriptEnd();
echo $this->Form->end(__('Submit', true));

?>

試してみてください。必要に応じていくつかの調整が必要になる場合があります。乾杯。-アンドリュー

于 2013-03-26T00:58:46.483 に答える