2017-08-15 45 views
0

我有选择,并且应该发送时区的细节选项的简单的HTML表单。怎么能选择表格提交时的选项传递多个参数?

当表单提交,我想通过/送几个值。 我发现不同approches例子,但没有确切地适合我的需要。

  • 目前,下面的表格可以只发送1参数值: 比方说第一选择已经提交,这里的值发送是时区ID:1

即:

http://timezone.htm/?TZ=1

希望你能帮助我找到PHP或JavaScript一个简单的方法来传递比与获取表单参数的更多。

<form method="GET" action=""> 
 

 
    <select name="TZ"> 
 
\t <option value="1" gmtAdjustment="GMT-12:00" useDaylightTime="0" timeshift="-12">(GMT-12:00) International Date Line West</option> 
 
\t <option value="2" gmtAdjustment="GMT-11:00" useDaylightTime="0" timeshift="-11">(GMT-11:00) Midway Island, Samoa</option> 
 
\t <option value="3" gmtAdjustment="GMT-10:00" useDaylightTime="0" timeshift="-10">(GMT-10:00) Hawaii</option> 
 
\t <option value="4" gmtAdjustment="GMT-09:00" useDaylightTime="1" timeshift="-9">(GMT-09:00) Alaska</option> 
 
\t <option value="5" gmtAdjustment="GMT-08:00" useDaylightTime="1" timeshift="-8">(GMT-08:00) Pacific Time (US & Canada)</option> 
 
\t <option value="6" gmtAdjustment="GMT-08:00" useDaylightTime="1" timeshift="-8">(GMT-08:00) Tijuana, Baja California</option> 
 
\t <option value="7" gmtAdjustment="GMT-07:00" useDaylightTime="0" timeshift="-7">(GMT-07:00) Arizona</option> 
 
\t <option value="8" gmtAdjustment="GMT-07:00" useDaylightTime="1" timeshift="-7">(GMT-07:00) Chihuahua, La Paz, Mazatlan</option> 
 
\t <option value="9" gmtAdjustment="GMT-07:00" useDaylightTime="1" timeshift="-7">(GMT-07:00) Mountain Time (US & Canada)</option> 
 
\t <option value="10" gmtAdjustment="GMT-06:00" useDaylightTime="0" timeshift="-6">(GMT-06:00) Central America</option> 
 
\t <option value="11" gmtAdjustment="GMT-06:00" useDaylightTime="1" timeshift="-6">(GMT-06:00) Central Time (US & Canada)</option> 
 
\t <option value="12" gmtAdjustment="GMT-06:00" useDaylightTime="1" timeshift="-6">(GMT-06:00) Guadalajara, Mexico City, Monterrey</option> 
 
\t <option value="13" gmtAdjustment="GMT-06:00" useDaylightTime="0" timeshift="-6">(GMT-06:00) Saskatchewan</option> 
 
\t <option value="14" gmtAdjustment="GMT-05:00" useDaylightTime="0" timeshift="-5">(GMT-05:00) Bogota, Lima, Quito, Rio Branco</option> 
 
\t <option value="15" gmtAdjustment="GMT-05:00" useDaylightTime="1" timeshift="-5">(GMT-05:00) Eastern Time (US & Canada)</option> 
 
\t <option value="16" gmtAdjustment="GMT-05:00" useDaylightTime="1" timeshift="-5">(GMT-05:00) Indiana (East)</option> 
 
\t <option value="17" gmtAdjustment="GMT-04:00" useDaylightTime="1" timeshift="-4">(GMT-04:00) Atlantic Time (Canada)</option> 
 
\t <option value="18" gmtAdjustment="GMT-04:00" useDaylightTime="0" timeshift="-4">(GMT-04:00) Caracas, La Paz</option> 
 
\t <option value="19" gmtAdjustment="GMT-04:00" useDaylightTime="0" timeshift="-4">(GMT-04:00) Manaus</option> 
 
\t <option value="20" gmtAdjustment="GMT-04:00" useDaylightTime="1" timeshift="-4">(GMT-04:00) Santiago</option> 
 
\t <option value="21" gmtAdjustment="GMT-03:30" useDaylightTime="1" timeshift="-3.5">(GMT-03:30) Newfoundland</option> 
 
\t <option value="22" gmtAdjustment="GMT-03:00" useDaylightTime="1" timeshift="-3">(GMT-03:00) Brasilia</option> 
 
\t <option value="23" gmtAdjustment="GMT-03:00" useDaylightTime="0" timeshift="-3">(GMT-03:00) Buenos Aires, Georgetown</option> 
 
\t <option value="24" gmtAdjustment="GMT-03:00" useDaylightTime="1" timeshift="-3">(GMT-03:00) Greenland</option> 
 
\t <option value="25" gmtAdjustment="GMT-03:00" useDaylightTime="1" timeshift="-3">(GMT-03:00) Montevideo</option> 
 
\t <option value="26" gmtAdjustment="GMT-02:00" useDaylightTime="1" timeshift="-2">(GMT-02:00) Mid-Atlantic</option> 
 
\t <option value="27" gmtAdjustment="GMT-01:00" useDaylightTime="0" timeshift="-1">(GMT-01:00) Cape Verde Is.</option> 
 
\t <option value="28" gmtAdjustment="GMT-01:00" useDaylightTime="1" timeshift="-1">(GMT-01:00) Azores</option> 
 
\t <option value="29" gmtAdjustment="GMT+00:00" useDaylightTime="0" timeshift="0">(GMT+00:00) Casablanca, Monrovia, Reykjavik</option> 
 
\t <option value="30" gmtAdjustment="GMT+00:00" useDaylightTime="1" timeshift="0">(GMT+00:00) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London</option> 
 
\t <option value="31" gmtAdjustment="GMT+01:00" useDaylightTime="1" timeshift="1">(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna</option> 
 
\t <option value="32" gmtAdjustment="GMT+01:00" useDaylightTime="1" timeshift="1">(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague</option> 
 
\t <option value="33" gmtAdjustment="GMT+01:00" useDaylightTime="1" timeshift="1">(GMT+01:00) Brussels, Copenhagen, Madrid, Paris</option> 
 
\t <option value="34" gmtAdjustment="GMT+01:00" useDaylightTime="1" timeshift="1">(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb</option> 
 
\t <option value="35" gmtAdjustment="GMT+01:00" useDaylightTime="1" timeshift="1">(GMT+01:00) West Central Africa</option> 
 
\t <option value="36" gmtAdjustment="GMT+02:00" useDaylightTime="1" timeshift="2">(GMT+02:00) Amman</option> 
 
\t <option value="37" gmtAdjustment="GMT+02:00" useDaylightTime="1" timeshift="2">(GMT+02:00) Athens, Bucharest, Istanbul</option> 
 
\t <option value="38" gmtAdjustment="GMT+02:00" useDaylightTime="1" timeshift="2">(GMT+02:00) Beirut</option> 
 
\t <option value="39" gmtAdjustment="GMT+02:00" useDaylightTime="1" timeshift="2">(GMT+02:00) Cairo</option> 
 
\t <option value="40" gmtAdjustment="GMT+02:00" useDaylightTime="0" timeshift="2">(GMT+02:00) Harare, Pretoria</option> 
 
\t <option value="41" gmtAdjustment="GMT+02:00" useDaylightTime="1" timeshift="2">(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius</option> 
 
\t <option value="42" gmtAdjustment="GMT+02:00" useDaylightTime="1" timeshift="2">(GMT+02:00) Jerusalem</option> 
 
\t <option value="43" gmtAdjustment="GMT+02:00" useDaylightTime="1" timeshift="2">(GMT+02:00) Minsk</option> 
 
\t <option value="44" gmtAdjustment="GMT+02:00" useDaylightTime="1" timeshift="2">(GMT+02:00) Windhoek</option> 
 
\t <option value="45" gmtAdjustment="GMT+03:00" useDaylightTime="0" timeshift="3">(GMT+03:00) Kuwait, Riyadh, Baghdad</option> 
 
\t <option value="46" gmtAdjustment="GMT+03:00" useDaylightTime="1" timeshift="3">(GMT+03:00) Moscow, St. Petersburg, Volgograd</option> 
 
\t <option value="47" gmtAdjustment="GMT+03:00" useDaylightTime="0" timeshift="3">(GMT+03:00) Nairobi</option> 
 
\t <option value="48" gmtAdjustment="GMT+03:00" useDaylightTime="0" timeshift="3">(GMT+03:00) Tbilisi</option> 
 
\t <option value="49" gmtAdjustment="GMT+03:30" useDaylightTime="1" timeshift="3.5">(GMT+03:30) Tehran</option> 
 
\t <option value="50" gmtAdjustment="GMT+04:00" useDaylightTime="0" timeshift="4">(GMT+04:00) Abu Dhabi, Muscat</option> 
 
\t <option value="51" gmtAdjustment="GMT+04:00" useDaylightTime="1" timeshift="4">(GMT+04:00) Baku</option> 
 
\t <option value="52" gmtAdjustment="GMT+04:00" useDaylightTime="1" timeshift="4">(GMT+04:00) Yerevan</option> 
 
\t <option value="53" gmtAdjustment="GMT+04:30" useDaylightTime="0" timeshift="4.5">(GMT+04:30) Kabul</option> 
 
\t <option value="54" gmtAdjustment="GMT+05:00" useDaylightTime="1" timeshift="5">(GMT+05:00) Yekaterinburg</option> 
 
\t <option value="55" gmtAdjustment="GMT+05:00" useDaylightTime="0" timeshift="5">(GMT+05:00) Islamabad, Karachi, Tashkent</option> 
 
\t <option value="56" gmtAdjustment="GMT+05:30" useDaylightTime="0" timeshift="5.5">(GMT+05:30) Sri Jayawardenapura</option> 
 
\t <option value="57" gmtAdjustment="GMT+05:30" useDaylightTime="0" timeshift="5.5">(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi</option> 
 
\t <option value="58" gmtAdjustment="GMT+05:45" useDaylightTime="0" timeshift="5.75">(GMT+05:45) Kathmandu</option> 
 
\t <option value="59" gmtAdjustment="GMT+06:00" useDaylightTime="1" timeshift="6">(GMT+06:00) Almaty, Novosibirsk</option> 
 
\t <option value="60" gmtAdjustment="GMT+06:00" useDaylightTime="0" timeshift="6">(GMT+06:00) Astana, Dhaka</option> 
 
\t <option value="61" gmtAdjustment="GMT+06:30" useDaylightTime="0" timeshift="6.5">(GMT+06:30) Yangon (Rangoon)</option> 
 
\t <option value="62" gmtAdjustment="GMT+07:00" useDaylightTime="0" timeshift="7">(GMT+07:00) Bangkok, Hanoi, Jakarta</option> 
 
\t <option value="63" gmtAdjustment="GMT+07:00" useDaylightTime="1" timeshift="7">(GMT+07:00) Krasnoyarsk</option> 
 
\t <option value="64" gmtAdjustment="GMT+08:00" useDaylightTime="0" timeshift="8">(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi</option> 
 
\t <option value="65" gmtAdjustment="GMT+08:00" useDaylightTime="0" timeshift="8">(GMT+08:00) Kuala Lumpur, Singapore</option> 
 
\t <option value="66" gmtAdjustment="GMT+08:00" useDaylightTime="0" timeshift="8">(GMT+08:00) Irkutsk, Ulaan Bataar</option> 
 
\t <option value="67" gmtAdjustment="GMT+08:00" useDaylightTime="0" timeshift="8">(GMT+08:00) Perth</option> 
 
\t <option value="68" gmtAdjustment="GMT+08:00" useDaylightTime="0" timeshift="8">(GMT+08:00) Taipei</option> 
 
\t <option value="69" gmtAdjustment="GMT+09:00" useDaylightTime="0" timeshift="9">(GMT+09:00) Osaka, Sapporo, Tokyo</option> 
 
\t <option value="70" gmtAdjustment="GMT+09:00" useDaylightTime="0" timeshift="9">(GMT+09:00) Seoul</option> 
 
\t <option value="71" gmtAdjustment="GMT+09:00" useDaylightTime="1" timeshift="9">(GMT+09:00) Yakutsk</option> 
 
\t <option value="72" gmtAdjustment="GMT+09:30" useDaylightTime="0" timeshift="9.5">(GMT+09:30) Adelaide</option> 
 
\t <option value="73" gmtAdjustment="GMT+09:30" useDaylightTime="0" timeshift="9.5">(GMT+09:30) Darwin</option> 
 
\t <option value="74" gmtAdjustment="GMT+10:00" useDaylightTime="0" timeshift="10">(GMT+10:00) Brisbane</option> 
 
\t <option value="75" gmtAdjustment="GMT+10:00" useDaylightTime="1" timeshift="10">(GMT+10:00) Canberra, Melbourne, Sydney</option> 
 
\t <option value="76" gmtAdjustment="GMT+10:00" useDaylightTime="1" timeshift="10">(GMT+10:00) Hobart</option> 
 
\t <option value="77" gmtAdjustment="GMT+10:00" useDaylightTime="0" timeshift="10">(GMT+10:00) Guam, Port Moresby</option> 
 
\t <option value="78" gmtAdjustment="GMT+10:00" useDaylightTime="1" timeshift="10">(GMT+10:00) Vladivostok</option> 
 
\t <option value="79" gmtAdjustment="GMT+11:00" useDaylightTime="1" timeshift="11">(GMT+11:00) Magadan, Solomon Is., New Caledonia</option> 
 
\t <option value="80" gmtAdjustment="GMT+12:00" useDaylightTime="1" timeshift="12">(GMT+12:00) Auckland, Wellington</option> 
 
\t <option value="81" gmtAdjustment="GMT+12:00" useDaylightTime="0" timeshift="12">(GMT+12:00) Fiji, Kamchatka, Marshall Is.</option> 
 
\t <option value="82" gmtAdjustment="GMT+13:00" useDaylightTime="0" timeshift="13">(GMT+13:00) Nuku'alofa</option> 
 
</select> 
 

 
    <input type="submit" name="submit" timeshift="Submit">

+0

这里是另一个答案,可能会解决您的问题:https://stackoverflow.com/questions/2407284/how-to-get-multiple-selected-values-of-select-框- in-php – Steven

+1

@Steven这是一个不同的问题。他希望从一个选择中获得多个值,而不是多个选择。 – Barmar

回答

1

而是与表单一起发送所有数据,只发送区值12等与表单一起。这个想法是,保持时区数组是这样的:

$timeZoneData = array(
    1 => array(
     'gmtAdjustment' => "GMT-12:00", 
     'useDaylightTime' => "0", 
     'timeshift' => "-12" 
    ), 
    2 => array(
     'gmtAdjustment' => "GMT-11:00", 
     'useDaylightTime' => "0", 
     'timeshift' => "-11" 
    ) 
    ... 
); 

注:在数组中键是值即无论是否有在<option> S中value属性时区。

并重构您的形式是这样的:

<form method="GET" action=""> 
    <select name="TZ"> 
     <option value="1">(GMT-12:00) International Date Line West</option> 
     <option value="2">(GMT-11:00) Midway Island, Samoa</option> 
     ... 
    </select> 
    ... 
</form> 

这样,当您从下拉列表中选择一个特定的时区值和提交形式,你可以很容易地从$timeZoneData得到所有时区的详细信息阵列,像这样:

if(isset($_GET['submit'])){ 
    $gmtAdjustment = $timeZoneData[$_GET['TZ']]['gmtAdjustment']; 
    $useDaylightTime = $timeZoneData[$_GET['TZ']]['useDaylightTime']; 
    $timeshift = $timeZoneData[$_GET['TZ']]['timeshift']; 

    ... 
} 
+0

您好保罗,感谢您的回答。我发现你的接近非常有用,我会去用它。全部:我不会将我的帖子设置为重复的,因为这种方式的进行并未在其他以前的答案中得到证实 –