如何在PHPFox中通过Ajax获取任何DOM元素

时间:2013-01-09 14:02:35

标签: phpfox

我以为我可以用

$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)

2 个答案:

答案 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);
    });

希望这有帮助