2017-08-15 46 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

您好保羅,感謝您的回答。我發現你的接近非常有用,我會去用它。全部:我不會將我的帖子設置爲重複的,因爲這種方式的進行並未在其他以前的答案中得到證實 –