0

我以为我可以用

$this->get('element_id')

获取 Ajax-Function 中每个 DOM-Element 的值。但这不起作用。只有后元素我可以这样,对吧?但是我如何获得其他元素?

谢谢你的帮助...

这是我的 Ajax 类:

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)

4

2 回答 2

1

基本上,您有 2 种常见的解决方案来传递 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->get('val1') 在服务器端获取您的价值。

于 2013-01-12T15:54:14.667 回答
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);
    });

希望这可以帮助

于 2013-09-11T12:46:48.760 回答