extjs 6复选框组getValue

时间:2016-02-29 02:06:23

标签: javascript php extjs checkbox

我需要将复选框组中所选复选框的值发布到服务器。最后,我并不担心复选框名称,而只是输入值列表。

如何将这些发布到服务器?如果我使用getValue(),我得到一个ext对象features,在我得到的对象上使用ext.encode

{"feature-3":"3","cfeature-5":"5","feature-7":"7",
"feature-10":"10","feature-12":"12","feature-13":"13",
"feature-15":"15","feature-18":"18"}

我不在乎是否在发布到服务器之前或之后解析数据但我需要能够在php中循环数据并获取3..5..7等作为我循环时的值通过数据。

将checkboxgroup值发送到服务器的最佳方法是什么?我正在使用这样的ajax调用:

 Ext.Ajax.request({
        scope: this,
        timeout: 1200000,
        url: './data/saveUsedFeatures.php',
        method: 'POST',
        params: {
 features: features
 },

我需要了解如何发送数据并在php中处理它。

1 个答案:

答案 0 :(得分:1)

首先编码你的对象特征以获得json字符串。

Ext.Ajax.request({
    scope: this,
    timeout: 1200000,
    url: './data/saveUsedFeatures.php',
    method: 'POST',
    params: {
    features: Ext.encode(features)
}

并在服务器端解码该字符串以获取数组:

<?php
    $arr= json_decode($_REQUEST["features"],true);
    foreach($arr as $v){
        //your logic here
    }
?>

或者

第二个选项是使用form.Submit()而不是Ext.ajax。 您将获得一组复选框组值。例如,如果您的checkboxgroup在服务器端具有属性name:'checkboxgroup'

<?php
    foreach($_REQUEST["checkboxgroup"] as $v){
       //your logic
    }
?>