用Ajax如何提取页面的值

在页面中调用ajax,代码如下

echo CHtml::ajaxsubmitbutton(’’,

	Yii::app()->createUrl('/User/addcart'),   


	array(


	'data' =>array('ID'=>$model->id,	//商品ID


		'[color="#FF0000"][b]qty_item_1[/b][/color]'=>????,


		'user'=>Yii::app()->user->id),  


		'type'=>'POST',    // 以POST方式将页面的值传递给后台


		'update'=>'$(#buynum).text(data)'


	),


	array('class'=>'cartbutton')


	); 

qty_item_1是input文本框的name属性,如下

<input type="text" name="[color="#FF0000"]qty_item_1[/color]" value="1" id="qty_item_1"/>

问题如果在文本框中填入数值,如何调用上面的ajax进行传值,郁闷了好几天,求解 :blink:

一般我都是直接用jquery处理的,很简单啊

jquery我知道的,如果用ajaxsubmitbutton如何获取页面的值呢?

Yii::app()->createUrl(’/User/addcart’),

array(

‘data’ =>array(‘ID’=>$model->id, //商品ID

‘qty_item_1’=>[color="#FF0000"]“js:$(’#qty_item_1’).text()”[/color],

‘user’=>Yii::app()->user->id),

‘type’=>‘POST’, // 以POST方式将页面的值传递给后台

‘update’=>’$(#buynum).text(data)’

),

如果是以js的形式赋值,也不行,编辑器就报错。

虽然我不用这个,但我觉得你是搞错了这个函数的功能,和不清楚jquery本身。

yii很多函数都是对jquery的包装。

稍微爬一下代码就知道了。

这个功能就是封装了jquery常用的序列话表单并提交的功能。

爬代码可以发现如下

if(&#33;isset(&#036;options['data']) &amp;&amp; isset(&#036;options['type']))


    &#036;options['data']=new CJavaScriptExpression('jQuery(this).parents(&quot;form&quot;).serialize()');

所以说,data里是一个js表达式

如果需要自己自定义值的话,就传一个js的funciton到整个data里,而不是data的一部分。

顺便说句。

我个人觉得你的做法不对。

应该是序列化整个表单,id放在url里,比较标准。