我使用多个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中收到多个电子邮件地址数据,只能用逗号分隔。
我如何分隔这些信息,以便能够向地址栏中的每个电子邮件地址发送电子邮件。
由于
答案 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;
}