2016-04-12 8 views
0

曖昧なタイトルに申し訳ありません。 私は、テキストフィールドからの入力を、そのビューのボタンで呼び出しているアクションに転送する方法を考え出すのに問題があります。Yii2のボタンを使用して、テキストフィールドからアクションへの入力データを

以下のコードは私が私の見解で持っているActiveFormです。

<div class="user-view"> 

<h1><?= Html::encode($this->title) ?></h1> 

<p> 
    <?php $form = ActiveForm::begin(); ?> 
    <?= $form->field($model, 'unique_key') ?> 
    <?= Html::a('Test', ['//order/create', 'unique_key' => 'entered key here'], ['class' => 'btn btn-success']) ?> 
    <?php ActiveForm::end(); ?> 
</p> 

私は何を達成したいことは、ユーザが(ランダムに生成)キーでテキストフィールドを埋めることです。 ボタンをクリックすると、入力されたキーがorder/createアクションに渡されます。問題は、まだどこにも保存されていないと思うので、この段階で入力したキーを取得することは不可能だと思うということです。

私はこれはおそらく、非常に多くの異なる方法で間違っている知っているが、私はまだ学ぶことをしようとしています。

I'amがやろうと、私は達成することができます方法はありますか?

おかげで、事前

+1

一つの方法は、下にあなたの行動を処理するAJAX呼び出しを使用することですアンカー要素にバインドされたクリックハンドラあなたのページでJSを使いたいですか? – ahPo

+0

私はJSで0回の経験がありますが、私はそれを使用する意思があります。 これはプロジェクトのためのものであり、セキュリティ上の問題は問題にならないでしょう。 JSでこれを処理する方法は何ですか? – BreadleyG

答えて

2

にあなたは、単に、より良いフォームの設定と自分のフォームを送信するためのボタンが必要になります。それを行うの

<?php $form = ActiveForm::begin([ 
    'action' => '//order/create', 
    'method' => 'get', 
]); ?> 
    <?= $form->field($model, 'unique_key') ?> 
    <?= Html::submitButton('Test', ['class' => 'btn btn-success']) ?> 
<?php ActiveForm::end(); ?> 
関連する問題