我以为我可以用
$this->get('element_id')
获取Ajax函数中每个DOM元素的值。但这不起作用。只有Post-Elements我可以这样,对吧? 但我怎么得到其他元素?
感谢您的帮助......
这是我的Ajax-Class:
class Name_Component_Ajax_Folder_Ajax extends Phpfox_Ajax
{
public function test(){
$iChildItemId = $this->get('element_id');
var_dump($iChildItemId);
$this->html('#testdiv', $this->getContent());
}
}
通过单击链接我调用此函数(test()),我想获取输入字段的值(elemnt_id)
答案 0 :(得分:1)
基本上,您有两种常见的解决方案可以在Web浏览(Firefox,Chrome,...)发送到服务器的AJAX请求中传递值。
如果您正在使用POST请求,则应将预期值指定为隐藏输入<input type='hidden' id='val1' value='value_you_want_to_pass_to_sever'>
。
如果您正在使用GET请求,则可以使用URL参数传递它,例如:www.youserver.com?val1 = value_you_want_to_pass。
您可以使用JQuery获得想要传递的值。
然后你可以使用$ this-&gt; get('val1')来获取服务器端的值。
答案 1 :(得分:0)
这应该可以设置一个元素:
$this->call('$(\'#js_photo_category_' . $aCategory['parent_id'] . '\').attr(\'selected\', true);');
同样可以用来获取值
$elementVal = $this->call('$(\'#js_photo_category_' . $aCategory['parent_id'] . '\').val();');
最好的方法是在客户端使用javascript来使用foreach获取id,将它们保存在数组/ json中并在请求中发送它们,然后在完成后执行某些操作:
$.ajaxCall('module.function_name', 'arrayData='+myArray).done(function(data) {
javascript_function(data);
});
希望这有帮助