2012-03-30 13 views
0

以下のコードは送信ボタンを作成せずに動作しますが、テキストフィールドに新しく入力された値を 'id'に割り当てたいとします。どうすれば入手できますか?YiiでactiveTextFieldの入力値を取得するにはどうすればよいですか?

<?php echo CHtml::activeTextField($model,'id',array(
    'submit' => array('item/view'), 
    'id' => 1, // this one works when you press enter at the textField; however, I 
       // want to assign here the current value of textfield 
)); ?> 

私はここで達成しようとしています何TIA

はfirstRecord、prevRecordとM $ Accessでレコードナビゲーションコントロールなどの記録/モデルナビゲータで、nextRecord、lastRecordリンク。私はこれらの4つのリンクを簡単に実装しました。現在のレコード要素、上記のコードは現在のレコードIDを表示する必要がありますが、ユーザーがその値を変更して、選択したモデル 'id'にナビゲートするようにする必要があります。

+0

モデルのフィールドの値が必要な場合や、送信時にIDの値をテキストフィールドの値に変更したい場合は、 – adamors

+0

あなたが達成しようとしていることは非常に奇妙なことです...私はあなたがしようとしていることに対して何か異なるアプローチを試みるべきだと思います。 –

+0

おそらくあなたは、Webページの各コントロールの固定された一意の識別子を作成するために 'id'が予約されていることに気付かなかったでしょう。これは、テキストフィールドに入力されたユーザーIDの値を保持するためのものではありません。それはコントローラに返される 'data'プロパティに割り当てられるべきです。 – hobs

答えて

1

私はそれはあなたが尋ねたものではないのですけれども、これはあなたが欲しいものだと思う:

<?php echo CHtml::activeTextField($model,'id',array(
    'submit' => array('item/view'), 
    'id' => 'control_id', 
    'data'=> array('user_id'=> 'js:$("#control_id'.$instanceName.'").val()'), 
)); ?> 

Yiiのもあなたが動的にコントロールIDにユーザーが入力した値を割り当てることができます場合、私は驚くだろう、あなたが尋ねるように。そうすればセキュリティホールが開かれ、正しいIDを推測できれば、そのビュー(たとえ隠れたフォームフィールドでも)のコントロールをトリガーできるようになります。

+0

あなたの返信をありがとう。 PHPとYiiでわずか1ヶ月の経験で、私はまだnoobishものを行うことを認めます。誰かがモデルナビゲータを安全に作成する方法を教えてくれますか? – alipato

+0

コントローラー内のすべてのモデルナビゲーションを実行し、ユーザーが提出したテキストを検証してからエスケープしてから、モデルを選択しCRUDします。私はMSモデルのナビゲータに慣れていませんが、標準のGii CRUDは、モデルの記録を作成、更新、削除するためのほとんどすべての "モデルナビゲーション"を意味します。これはYiiのチュートリアルの最初のステップです:http://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app#implementing-crudoperations – hobs

+0

あなたの質問への回答をupvoteすれば、 Microsoft Accessモデルのナビゲーターに精通している他のユーザーに、より良い回答を提供するための動機付けができます。これは、このサイトが質問と回答とユーザーをランク付けする方法です。 – hobs

関連する問題