使用GET方法获取数组信息

时间:2016-01-29 15:25:15

标签: javascript php arrays

我使用多个select字段发送数据并使用GET方法获取数据。

.change(function(event){

 if(event.target == this){
 emails=$(this).val();
 }
     $("#button_list").click(function(){
 window.location.replace("http://mysite.php?email="+emails);
 }); 
 });

在地址栏中,我获取以下信息:

mysite.php?emails=email1@domain1.com,email2@domain2.com

实际上,我在一个变量$ emails中收到多个电子邮件地址数据,只能用逗号分隔。

我如何分隔这些信息,以便能够向地址栏中的每个电子邮件地址发送电子邮件。

由于

3 个答案:

答案 0 :(得分:0)

您可以使用jQuery.param

创建正确的查询字符串
.change(function(event){
    if(event.target == this){
        var emails = $(this).val();
        var data   = emails.split(',').map(function(item) { return {name : 'emails', value : item} });
        var params = $.param(data);
    }
     $("#button_list").click(function(){
        window.location.replace("http://mysite.php?" + params);
    }); 
});

现在你最终得到了网址

http://mysite.php?emails=email1%40domain1.com&emails=email2%40domain2.com

您可以在服务器上使用$_GET['emails']作为数组访问电子邮件

应该注意的是,只使用常规表单就可以在没有javascript的情况下实现这一点,并且通常不应该将事件处理程序放在另一个事件处理程序中

答案 1 :(得分:0)

将电子邮件字符串拆分为单独的电子邮件地址:

foreach ($emails_array AS $email) { // do the email sending }

用它来发送每封电子邮件:

trait DataTable[A <: DataTable[A]] { self: A => def table: A = self def name: String } class Table1 extends DataTable[Table1] { val name = "Table1" } class Table2 extends DataTable[Table2] { val name = "Table2" } def dump[A <: DataTable[A]](table: A) = println(table.name) def getTable(name: String) = name match { case "Table1" => new Table1 case "Table2" => new Table2 } dump(new Table1()) dump(getTable("Table1") // doesn't typecheck...

答案 2 :(得分:0)

即使你接受了答案。我仍然会发布我的答案,希望能教给你一些东西。你正在使用jQuery,但我一直在问自己&#34;为什么?&#34; 另外,为什么条件if (event.target == this) ..我相信你根本不需要jquery完成你想要做的事。您所要做的就是使用form属性使用name和正确的元素。这就是你所需要的:

<强> HTML:

<form action="mysite.php">
    <select name="emails">
        <option value="email1@domain1.com,email2@domain2.com">one</option>
        <option value="email3@domain3.com,email4@domain4.com">two</option>
    </select>
    <button type="submit"></button>
</form>

<强> PHP:

$emails = $_GET['emails'];
$emails_arr = explode(",", $emails);
foreach ($emails_arr as $email) {
    echo $email;
}