Javascript 在PHP文件中使用XML文件进行动态下拉
我有一个带有表单的PHP文件。该表单具有区域、国家和州下拉列表。我的XML文件包含所有地区、国家和州。我试图用XML信息填充下拉列表中的地区、国家和州。这不会显示XML文件中的任何内容。我认为我的PHP文件没有引用我的XML文件,我对XML是新手Javascript 在PHP文件中使用XML文件进行动态下拉,javascript,php,html,xml,Javascript,Php,Html,Xml,我有一个带有表单的PHP文件。该表单具有区域、国家和州下拉列表。我的XML文件包含所有地区、国家和州。我试图用XML信息填充下拉列表中的地区、国家和州。这不会显示XML文件中的任何内容。我认为我的PHP文件没有引用我的XML文件,我对XML是新手 <?xml version="1.0" encoding="utf-8"?> <regions> <region> <region-name>North America</region-na
<?xml version="1.0" encoding="utf-8"?>
<regions>
<region>
<region-name>North America</region-name>
<countries>
<country>
<na-country-name>Canada</na-country-name>
<states>
<state>
<ca-state>Alberta</ca-state>
</state>
<state>
<ca-state>British Columbia</ca-state>
</state>
<state>
<ca-state>Manitoba</ca-state>
</state> ...
北美
加拿大
阿尔伯塔省
不列颠哥伦比亚省
马尼托巴省
...
在我的PHP文件中,我希望地区、国家和州引用XML文件
<body>
<form name="leadform" method=post action="send_data.php">
<input type="hidden" name="create" value="lead">
<?php
if(!isset($_POST['lastname']))
$_POST['lastname'] = "";
if(!isset($_POST['firstname']))
$_POST['firstname'] = "";
if(!isset($_POST['email']))
$_POST['email'] = "";
if(!isset($_POST['phone']))
$_POST['phone'] = "";
if(!isset($_POST['company']))
$_POST['company'] = "";
if(!isset($_POST['companyurl']))
$_POST['companyurl'] = "";
if(!isset($_POST['description']))
$_POST['description'] = "";
?>
<table cellspacing="0" cellpadding="5" border="0" id="perfect" width="100%" align="center">
<tr><th>Last Name:<font color="#CC0000"><sup>*</sup></font> </th>
<td><input type=text name="lastname" size=30 value="<?php echo $_POST['lastname']?>"></td>
</tr>
<tr><th>First Name:<font color="#CC0000"><sup>*</sup></font> </th>
<td><input type=text name="firstname" size=30 value="<?php echo $_POST['firstname']?>"></td>
</tr>
<tr><th>Your E-Mail:<font color="#CC0000"><sup>*</sup></font></th>
<td><input type=text name="email" size=30 value="<?php echo $_POST['email']?>"></td>
</tr>
<tr><th>Phone:<font color="#CC0000"><sup>*</sup></font></th>
<td><input type=text name="phone" size=30 value="<?php echo $_POST['phone']?>"></td>
</tr>
<tr><th>Company:<font color="#CC0000"><sup>*</sup></font></th>
<td><input type=text name="company" size=30 value="<?php echo $_POST['company']?>"></td>
</tr>
<tr><th>Company URL:</th>
<td><input type=text name="companyurl" size=30 value="<?php echo $_POST['companyurl']?>"></td>
</tr>
<tr><th>Region:<font color="#CC0000"><sup>*</sup></font></th>
<td>
<select name="region" id="region" style="font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#000000;" >
<option value="">None</option>
</select>
</td>
</tr>
<tr><th>Country:<font color="#CC0000"><sup>*</sup></font></th>
<td>
<select name="country" id="country" style="font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#000000;" >
</SELECT>
</td>
</tr>
<tr><th>State/Province:<font color"#CC0000"><sup>*</sup></font></th>
<td>
<select name="state" id="state" size="1" style="font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#000000;">
</select>
</td>
</tr>
<tr><th>Product Category:<font color="#CC0000"><sup>*</sup></font></th>
<td>
<select name="productcategory" style="font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#000000;">
<option value="blank">blank</option>
</select>
</td>
</tr>
<tr><th>Subject:<font color="#CC0000"><sup>*</sup></font></th>
<td><input type=text name=subject size=38 value="<?php echo $_POST['companyurl']?>"></td>
</tr>
<tr><th>Message:</th>
<td><textarea name=description rows=2 cols=29><?php echo $_POST['description']?></textarea></td>
</tr>
<tr><td colspan="2" align="center">
<input type="button" name="Submit" value="Submit" class=click onClick="ValidateForm();"></td></tr>
</table>
</form>
</body>
</html>
姓氏:*
我正在使用的脚本:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
$(document).ready(function() {
$.ajax({
type: "GET",
url: "/registration.xml",
dataType: "xml",
success: function(xml){
$("#region").html("<option>Please Select a Region</option>");
$("#country").html("<option>Please Select Country</option>");
$("#state").html("<option value='Please Select State'>Please Select State/Province</option>");
$(xml).find('region').each(function(){
$("#region").append("<option>"+$(this).text()+"</option>");
});
$("#region").change(function(){
$("#country").html("<option>Please Select Country</option>");
$("#state").html("<option value='Please Select State'>Please Select State/Province</option>");
if ($("#region").val() == "North America")
{
$(xml).find('na-country-name').each(function(){
$("#country").append("<option>"+$(this).text()+"</option>");
});
}
else if ($("#region").val() == "Asia Pacific")
{
$(xml).find('apac-country-name').each(function(){
$("#country").append($('<option></option').attr("value", this.id).text(this.name));
});
}
if ($("#region").val() == "Latin America")
{
$(xml).find('latm-country-name').each(function(){
$("#country").append($('<option></option').attr("value", this.id).text(this.name));
});
}
if ($("#region").val() == "EMEA")
{
$(xml).find('emea-country-name').each(function(){
$("#country").append($('<option></option').attr("value", this.id).text(this.name));
});
}
});
$("#country").change(function() {
$("#state").html("<option value='Please Select State'>Please Select State/Province</option>");
//if ($('#reseller_company_region').val() != "Asia Pacific" || $('#reseller_company_region').val() != "Latin America" )
// $('#reseller_area_served').html("<option value='Please Select Area'>Please Select Area(s)</option>");
if ($("#country").val() == "United States")
{
$(xml).find('usa-state').each(function(){
$("#state").append("<option>"+$(this).text()+"</option>");
});
}
else if ($("#country").val() == "Canada")
{
$(xml).find('ca-state').each(function(){
$("#state").append($('<option></option').attr("value", this.id).text(this.name));
});
}
else
{
$("#state").html("<option>Not Applicable</option>");
}
});
}
});
});
$(文档).ready(函数(){
$.ajax({
键入:“获取”,
url:“/registration.xml”,
数据类型:“xml”,
成功:函数(xml){
$(“#地区”).html(“请选择地区”);
$(“#国家”).html(“请选择国家”);
$(“#州”).html(“请选择州/省”);
$(xml).find('region').each(function(){
$(“#region”).append(“+$(this.text()+”);
});
$(“#区域”).change(函数(){
$(“#国家”).html(“请选择国家”);
$(“#州”).html(“请选择州/省”);
如果($(“#地区”).val()=“北美”)
{
$(xml).find('na-country-name').each(function(){
$(“#country”).append(“+$(this.text()+”);
});
}
else if($(“#地区”).val()=“亚太地区”)
{
$(xml).find('apac-country-name').each(function(){
$(“#country”).append($('region$state和$country是全局定义的吗?您是否曾在javascript中使用getElementById()或在jquery中使用$('id')将区域状态和国家变量绑定到DOM?我在脚本中尝试了$('id')。好吧……发生了什么事?按#id您的意思是用元素右侧的任何id替换id?$region=$('region”).country和Others也是一样,我用元素的id替换了它。我还尝试了var x=document.getElementById(“region”);并引用了x.append…下拉菜单中没有显示任何内容。