如何将jQuery变量传递给PHP代码?

时间:2009-07-16 05:15:45

标签: jquery cakephp

我重新定了我的问题:

我有一个下拉框,其中填充了一个用户列表。

    <a href="#" class="Share<?=$r['Form']['id'];?>">Share</a>
    <form action="/FormBuilder/index.php/forms/share/<?=$r['Form']['id']?>/<?=$userid?>" method="post" id="shareform<?=$r['Form']['id'];?>" class="shareform">
            <p>Select the users with whom you want to share the Form</p>
            <select id="userList" name="userList" multiple>
                    <?php foreach($users as $user){  ?>
                            <option value=<?=$user['User']['id'];?>><?=$user['User']['name'];?></option>        
                    <?php }?>
            </select> 
            <input type="submit" class="button" value="Share"/>
    </form>

当我选择用户并提交时,数据库中表单的访问权限字段将更新为“共享”。

现在我需要显示已在我选择的用户的主页中共享的表单名称。这是用于显示已标记为“共享”的表单名称的代码。

    <?php if (!empty($formsShared)){   
    foreach ($formsShared as $shared): 
        echo $shared['Form']['name']; 
    endforeach; 
    }
    else{
        echo "There are no shared Forms !"; 
    }?>

我需要在下拉框中获取所选值,以便我可以使用另一个for循环来仅在所选用户主页中显示共享表单。我如何获得选项:值?

4 个答案:

答案 0 :(得分:4)

您需要使用AJAX向他们发送PHP脚本。

$.post("file.php", { data: selected_value[i] } );

并在您的PHP脚本中:

$data = $_POST['data'];

如果下拉列表只是表单的一部分,那么您创建一个隐藏的表单字段,其值为 selected_value [i]

答案 1 :(得分:3)

每当您想要将数据从JavaScript返回到PHP时,您正在查看请求+响应。

XHR将是最佳选择。如果您所做的只是接收信息或更新说...会话状态,您显然没有义务发回任何内容。

答案 2 :(得分:2)

我觉得这不可能在页面内。您需要在表格中提交或通过xhr post / get传递。

然后你可以通过常规参数在PHP中对它进行评估。

答案 3 :(得分:1)

您需要使用AJAX向他们发送PHP脚本。

$.post("file.php", { data: selected_value[i] } );

在你的PHP脚本中:

$data = $_POST['data'];

使用此脚本,给我一个简单的示例有效。

谢谢......