-1
我是美化Yii Framework的新手。我正在浏览Yii的wiki文档。我得到了一个链接http://www.yiiframework.com/wiki/72/cjuidialog-and-ajaxsubmitbutton?,我得到了一些我需要的东西。所以我让所有的过程都像本教程。但仍然无法从人员视图文件中保存job_name。Yii下拉菜单中的错误添加链接选项
我的数据库是这样
==== Job ====
id
job_name
job_description
created_at
updated_at
==== Person ====
id
job_id
person_name
description
created_at
updated_at
我对人_form.php这个是这样
<?php echo $form->errorSummary($model); ?>
<div class="row">
<div id="job">
<?php echo $form->dropDownList($model,'job_id',CHtml::listData(Job::model()->findAll(),'job_id','description'),array('prompt'=>'Select')); ?>
<?php echo CHtml::ajaxLink(Yii::t('job','Create Job'),$this->createUrl('job/addnew'),array(
'onclick'=>'$("#jobDialog").dialog("open"); return false;',
'update'=>'#jobDialog'
),array('id'=>'showJobDialog'));?>
<div id="jobDialog"></div>
</div>
</div>
而且actionAddnew()在作业控制器是这样
public function actionAddnew()
{
$model=new Job;
// Ajax Validation enabled
$this->performAjaxValidation($model);
// Flag to know if we will render the form or try to add
// new jon.
$flag=true;
if(isset($_POST['Job']))
{
$flag=false;
$model->attributes=$_POST['Job'];
if($model->save())
{
//Return an <option> and select it
echo CHtml::tag('option',array ('value'=>$model->jid,'selected'=>true),CHtml::encode($model->jdescr),true);
}
}
if($flag)
{
Yii::app()->clientScript->scriptMap['jquery.js'] = false;
$this->renderPartial('createDialog',array('model'=>$model,),false,true);
}
}
根据教程我做了另外两个文件,称为createDialog.php和_formDialog.php作业查看folde河 为createDialog.php的代码是这样的
<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog',array(
'id'=>'jobDialog',
'options'=>array(
'title'=>Yii::t('job','Create Job'),
'autoOpen'=>true,
'modal'=>'true',
'width'=>'auto',
'height'=>'auto',
),
));
echo $this->renderPartial('_formDialog', array('model'=>$model)); ?>
<?php $this->endWidget('zii.widgets.jui.CJuiDialog');?>
为_formDialog.php的代码是这样的
<div class="form" id="jobDialogForm">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'job-form',
'enableAjaxValidation'=>true,
));
//I have enableAjaxValidation set to true so i can validate on the fly the
?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'jid'); ?>
<?php echo $form->textField($model,'jid',array('size'=>60,'maxlength'=>90)); ?>
<?php echo $form->error($model,'jid'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'jdescr'); ?>
<?php echo $form->textField($model,'jdescr',array('size'=>60,'maxlength'=>180)); ?>
<?php echo $form->error($model,'jdescr'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::ajaxSubmitButton(Yii::t('job','Create Job'),CHtml::normalizeUrl(array('job/addnew','render'=>false)),array('success'=>'js: function(data) {
$("#Person_jid").append(data);
$("#jobDialog").dialog("close");
}'),array('id'=>'closeJobDialog')); ?>
</div>
<?php $this->endWidget(); ?>
</div>
那么,我错了,在这?任何帮助和建议将是非常可观的。
你的问题是这么可怕广泛,它不能回答。 “没有取得任何成功”是什么意思?更加详细一些。 *方式*更具体。 – Jon 2012-04-03 09:40:12
我已经更新了这个问题。顺便说一下,我想用上面描述的链接的ajax链接从人员模型视图文件中保存作业名称。 – NewUser 2012-04-03 12:49:31