获取文本框值

时间:2013-12-14 07:14:10

标签: php yii

我是Yii的新手,作为首发,我想知道在按下按钮时如何从文本框中获取值。

<?php CHtml::textField($name,$value,array('submit'=>'')); ?>

<?php echo CHtml::submitButton('Greet!',array(
             'submit' => 'message/goodbye')); ?>

2 个答案:

答案 0 :(得分:2)

让你的观点像

        <?php
        $form = $this->beginWidget('CActiveForm', array(
            'id' => 'aForm',
            'htmlOptions' => array('onsubmit'=>"return false;"),
                ));
        ?>
            <?php echo CHtml::textField('name', 'value'); ?>
            <?php echo CHtml::submitButton('Greet!', array('onclick' => 'getValue()'));?>
        <?php $this->endWidget(); ?>

onclick事件的Action Script是

        <script type="text/javascript">
            function getValue()
            {
                $text=$("#aForm").find('input[name="name"]').val();
                alert($text);
                //$formData=$("#aForm").serialize();
            }
        </script>

答案 1 :(得分:1)

理解基本概念

你必须记住,Yii是MVC framework(模型,视图控制器),最佳做法是保持整个结构。学习它的最好方法是来自他们的精彩论坛。

因此,要定义您希望从表单保存数据/文本框的场景,您将遵循以下工作流程:

基本工作流程

假设您不想将数据保存在数据库中。

我将假设已知有关框架如何工作的基本知识。如果没有,您可以查看指南和其他教程。

这是一个基本工作流程,在该工作流程中,数据将从表单中获取并在模型中进行验证。

  1. protected/models文件夹
  2. 中创建模型文件

    示例:让我们将此文件命名为FormData.php

    <?php
    
    class FormData extends CFormModel{
        public $name;
        public $email;
    
    
        public function rules()
        {
            return array(
                array('name , email','required'), // This rule would make it compulsory for the data to be added.
                array('email','email'), // This will check if the email matches the email criteria.
            );
        }
    
        public function attributeLabels()
        {
            return array(
                'name' => 'Enter your name',
                'email' => 'Enter your email',
            );
        }
    
    }
    
    ?>
    

    2。在此之后,在protected/FormController.php

    添加:

    <?php
    
    class Formdata extends CController{
        public function actionCoolForm()
        {
            $model = new FormData();
            if(isset($_POST['FormData'])){
                $model->attributes = $_POST['FormData'];
                if($model->validate()){
                    // Do whatever you want to do here.
                }
            }
    
            $this->render('someview',array('model'=>$model));
        }
    }
    ?>
    

    3。现在,在页面中添加表单很简单:

    <?php echo CHtml::form('formdata/coolform','post'); ?>
    
    <?php 
    
    echo CHtml::activeTextField($model,'name');
    echo CHtml::activeTextField($model,'email');
    
    ?>
    
    <?php echo CHtml::endForm(); ?>
    

    现在将其添加到数据库中

    在数据库中添加它的最佳和最简单的方法是使用Gii。 但代码几乎相同,只是模型扩展了CModel。

    我希望我能够提供帮助。