2014-07-26 82 views
0

所以我有一個表格,它應該發佈國家選定的國家和任何一個國家或城市從任何下拉菜單,它只是張貼在國家下的兩個選擇,儘管這些名稱不同在PHP郵件程序腳本中的表單和發佈數據中。POST數據動態選擇不發送

所以這裏是形式:

<select style="width: 64%;" name="country" class="country"> 
    <option value="UK">UK</option> 
    <option value="US">US</option> 
</select> 


<select style="width: 64%;" class='city' name="city"> 

</select></center> 

這裏是JS:

var ukCities = ['Avon', 'Bedfordshire', 'Berkshire']; 
var usCities = ['Alabama', 'Alaska', 'Arizona']; 

$(document).on("change", "select.country", function() { 
    var country = $("select.country").val(); 
    var cities; 
    if(country === 'UK'){ 
     cities = ukCities; 
    } 
    else{ 
     cities = usCities; 
    } 
    $("select.city").empty(); 
    $.each(cities, function(index, element){ 
      $("select.city").append($("<option></option>").attr("value", country).text(element)); 
    }); 
}); 
$("select.country").val('UK').trigger('change'); 

在這裏,這些都是應該被張貼的形式PHP mialer腳本是什麼:

$mail->Body = 
'Name: ' . $_POST["assocName"] . 
'<br>Email: ' . $_POST["firstName"] . 
'<br>Tel: ' . $_POST["lastName"] . 
'<br>Position: ' . $_POST["position"] . 
'<br>Country: ' . $_POST["country"] . 
'<br>City: ' . $_POST["city"] . 
'<br>Community Type: ' . $_POST["comType"] . 
'<br>Dwellings: ' . $_POST["dwellings"] . 
'<br>Email: ' . $_POST["emailAddress"]; 

例如,當我選擇英國和一個城市時,電子郵件通過給我提供城市和國家的城市。

+1

你容易受到XSS –

+0

你是什麼意思「給我這個城市的國家和城市」?你在哪裏調用PHP文件? – Shahar

+0

我只給了你造成我一個問題的部分表單。我們收到電子郵件,問題是,如果我選擇英國,然後選擇貝德福德郡,並提交表格,我收到的電子郵件就會顯示我向英國國家和城市回覆了 – user3520443

回答

1

它給你的城市,因爲這兩個國家與城市:

$("select.city").append($("<option></option>").attr("value", country).text(element)); 

您需要設置valueelement而不是country,所以它讀取:

$("select.city").append($("<option></option>").attr("value", element).text(element)); 

HTML不甚至可以看到option標籤之間有什麼,只有它們的value是。這就是發佈的內容