yii框架下 从控制器取视图页面的值,从视图页面获取控制器值

5 篇文章 0 订阅

第一次接触php写web页面,算是从零开始

在windows下使用了wamp组合包,又是高度集成,直接下载安装,

使用了yii框架来建立一个网站,这个网上教程超级多,也有很多文档

简单记录下自己遇到的问题:

从控制器取视图页面的值

比如在 

view页面里有

<span style="font-size:18px;"><form id="upForm" action="<?php echo $this->createUrl('viewTask');?>"
<span style="white-space:pre">	</span>method="post" enctype="multipart/form-data">     </span>
<span style="font-size:18px;"><input type="text" name="taskname" value="" /> 
     <input type="text" name="attachment" value="" /> 
     <input type="submit" name="createTask" value="创建任务" /> </span>
<span style="font-size:18px;"></form></span>

注意里面的method定义为post,

如果想在控制器xxcontroller里面获取这个文本框的值和按钮点击事件,只需要在控制器里相应的actionXXX()里使用

$taskname = $_POST['taskname'];

$attachment = $_POST['attachment'];

而判断按钮事件是否触发:

if(isset($_POST['createTask'])){  ...  }

而在view里面获取控制器的值就比较麻烦点,听说ajax可以获取,花了半天研究了下

在view里面写

</pre><pre name="code" class="javascript"><head>
<script type="text/javascript" src="jquery-2.1.1.min.js">
</script>
<script>
function myfunction()
{	
	$.get("index.php?r=project/viewTask", 
		{
	   	name:"YaoMing",
	    	tage:12
	  	},
	   function(a,status) {
	      alert(a);
	});
	
}
</script>
</head>

要下载上面的jquery-2.1.1.min.js 放到 与protected文件夹同级目录下,其中的name和age是传递给controller的值

然后其中的function中的a就是从controller ProjectController里面的actionViewTask()函数里获取的echo的值 22

不过也需要在public function actionViewTask()里面写

if(Yii::app()->request->isAjaxRequest)
{
<span style="white-space:pre">	</span>$name = $_GET['name'];
<span style="white-space:pre">	</span>$age = $_GET['age'];
<span style="white-space:pre">	</span>echo $age+10;
}
else
{
<span style="white-space:pre">	</span>//正常的控制代码
}














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值