Javascript HTML下拉列表无法正常工作

Javascript HTML下拉列表无法正常工作,javascript,html,Javascript,Html,所以我一直在编写这个html文档,我尝试添加一个下拉菜单,您可以在澳大利亚和新西兰之间选择,相应的州出现在“选择州”下拉列表中 <div id="mydiv2"> <section> <div style="text-align:center;"> <form name="myFirstForm" autocomplete="on"> <p> <meter min="0" low="20" high="80" optimu

所以我一直在编写这个html文档,我尝试添加一个下拉菜单,您可以在澳大利亚和新西兰之间选择,相应的州出现在“选择州”下拉列表中

    <div id="mydiv2">
<section>
<div style="text-align:center;">
<form name="myFirstForm" autocomplete="on">
<p>
<meter min="0" low="20" high="80" optimum="90" max="100"
value="0">Space left: </meter> 0%
</p>
<fieldset style =" margin-left:-20px; padding-top: 0.35em; padding-bottom: 
0.625em; padding-left: 0.75em;">
<p>
<meter min="0" low="20" high="80" optimum="90" max="100"
value="0">Space left: </meter> 0%
</p>
<legend> Register New User</legend>
 <div id="mydiv">
 <p><label>Username: <input type="text" name="username" placeholder="enter a new username" pattern="[a-zA-Z0-9]{12}" required+"true" onblur="return validateErrors('username','usernameError')" /> </label></p>
 </div>
 <span id="usernameError" style="display: none;"></span>
 <script>
 if (!("autofocus" in document.createElement("input"))) {
 document.getElementById("username").focus();
 }
 </script>
 <div id="mydiv">
 <p><label>Password: <input type="password" name="password" required pattern="[A-Z]{3}-[a-z]{3}" title="###-
### with 3 capitals followed by a - and 3 lower case letters" placeholder="6     digits or more" /> </label></p>
 </div>
 </fieldset >
 <fieldset style =" margin-left:-20px; padding-top: 0.35em; padding-bottom: 0.625em; padding-left: 0.75em;">
 <legend> Personal Details</legend>
 <legend></legend> 
 <div id="mydiv">
 <p><label>Name: <input type="text" name="Name"
autofocus="autofocus"  required="true" placeholder="first and last name" title="Must contain no numbers"  /> </label></p>
 </div>
 <div id="mydiv">
 <p><label>Address: <input type="text" name="address" required="true" placeholder="street number and name" /> </label></p>
 </div>
 <div id="mydiv">
 <p><label>Suburb: <input type="text" name="address" required="true" placeholder="suburb" /> </label></p>
 </div>
 <div id="mydiv">
 <p><label>City: <input type="text" name="address" required="true" 
  placeholder="city" /> </label></p>
 </div>
 </br>


Select Country: <select id="country" name ="country"></select> <br/><br/>
Select State: <select name ="state" id ="state"></select>  <br/>

 <script language="javascript">
 populateCountries("country", "state"); // first parameter is id of country 
 drop-down and second parameter is id of state drop-down
 populateCountries("country2");
 populateCountries("country2");
 </script>
 <div id="mydiv">
 <p><label>Postcode: <input type="text" name="address" required="true" 
 title="Must be 4 numbers" placeholder="0000" /> </label></p>
 </div>
 <div id="mydiv">
 <p><label>Email: <input type="text" name="address" title="Must contain a @ and a ." placeholder="me@example.com"  required="true" pattern="[^@]+@[^@]+\.[a-zA-Z]{2,6}" /> </label></p>
 </div>
 <div id="mydiv">
 <p><label>Phone: <input type="text" name="address" required="true" title="Must be 10 digits" placeholder="(00)-000-0000" /> </label></p>
</div>
<div id="mydiv">
<p><label>Website: <input type="text" name="address" required="true" title="Must contain a www and a ." placeholder="https://www.example.com.au" />     
</label></p>
</div>
<div id="mydiv">
<p><label>Age: <input type="text" name="address" required="true" title="Must be numeric" placeholder="" /> </label></p>
</fieldset>
<fieldset style ="background-color:#4682b4; margin-left: 0px; margin-right: 
800px; padding-top: 0.35em; padding-bottom: 0.625em; padding-left: 
0.75em;width:100%;">
<p>Spam Check</p>
<p><label>What colour is black?(Choose a colour)<input type="color" 
name="carcolor" /></label></p>
<script>
function checkRegistration(){
if(!form_valid){
    alert('Given data is not correct');
    return false;
}
return true;
}
</script>
<FORM METHOD="LINK" ACTION="Form3.html">
<INPUT TYPE="submit" VALUE="Continue">
</FORM>
</fieldset>
</div>
</form>
</div>
</section>
</body>
</html>


剩余空间:0%

剩余空间:0%

注册新用户 用户名:

if(!(.createElement(“输入”)中的“自动聚焦”){ document.getElementById(“用户名”).focus(); } 密码:

个人资料 姓名:

地址:

郊区:

城市:


选择国家:

选择状态:
人口国家(“国家”、“州”);//第一个参数是国家的id 下拉列表,第二个参数是状态下拉列表的id 人口国家(“国家2”); 人口国家(“国家2”); 邮政编码:

电邮:

电话:

网站:

年龄:

垃圾邮件检查

黑色是什么颜色?(选择一种颜色)

函数checkRegistration(){ 如果(!form_有效){ 警报(“给定数据不正确”); 返回false; } 返回true; }
然而,我遇到的问题是,动态状态和国家的下拉列表根本不起作用,我几乎尝试了所有方法

var country_arr = new Array("Australia","New Zealand");
// States
var s_a = new Array();
s_a[0]="";
s_a[1]="Australian Capital Territory|New South Wales|Northern Territory|Queensland|South Australia|Tasmania|Victoria|Western Australia";
s_a[2]="Akaroa|Amuri|Ashburton|Bay of Islands|Bruce|Buller|Chatham Islands|Cheviot|Clifton|Clutha|Cook|Dannevirke|Egmont|Eketahuna|Ellesmere|Eltham|Eyre|Featherston|Franklin|Golden Bay|Great Barrier Island|Grey|Hauraki Plains|Hawera|Hawke's Bay|Heathcote|Hikurangi|Hobson|Hokianga|Horowhenua|Hurunui|Hutt|Inangahua|Inglewood|Kaikoura|Kairanga|Kiwitea|Lake|Mackenzie|Malvern|Manaia|Manawatu|Mangonui|Maniototo|Marlborough|Masterton|Matamata|Mount Herbert|Ohinemuri|Opotiki|Oroua|Otamatea|Otorohanga|Oxford|Pahiatua|Paparua|Patea|Piako|Pohangina|Raglan|Rangiora|Rangitikei|Rodney|Rotorua|Runanga|Saint Kilda|Silverpeaks|Southland|Stewart Island|Stratford|Strathallan|Taranaki|Taumarunui|Taupo|Tauranga|Thames-Coromandel|Tuapeka|Vincent|Waiapu|Waiheke|Waihemo|Waikato|Waikohu|Waimairi|Waimarino|Waimate|Waimate West|Waimea|Waipa|Waipawa|Waipukurau|Wairarapa South|Wairewa|Wairoa|Waitaki|Waitomo|Waitotara|Wallace|Wanganui|Waverley|Westland|Whakatane|Whangarei|Whangaroa|Woodville";



function populateStates( countryElementId, stateElementId ){

var selectedCountryIndex = document.getElementById( countryElementId 
).selectedIndex;

var stateElement = document.getElementById( stateElementId );

stateElement.length=0;  // Fixed by Julian Woods
stateElement.options[0] = new Option('Select State','');
stateElement.selectedIndex = 0;

var state_arr = s_a[selectedCountryIndex].split("|");

for (var i=0; i<state_arr.length; i++) {
    stateElement.options[stateElement.length] = new 
Option(state_arr[i],state_arr[i]);
}
}

function populateCountries(countryElementId, stateElementId){
// given the id of the <select> tag as function argument, it inserts 
<option> tags
var countryElement = document.getElementById(countryElementId);
countryElement.length=0;
countryElement.options[0] = new Option('Select Country','-1');
countryElement.selectedIndex = 0;
for (var i=0; i<country_arr.length; i++) {
    countryElement.options[countryElement.length] = new Option(country_arr[i],country_arr[i]);
}

// Assigned all countries. Now assign event listener for the states.

if( stateElementId ){
    countryElement.onchange = function(){
        populateStates( countryElementId, stateElementId );
    };
}
}
function checkSubmit()
{
if (all validations are ok)
    {
        return true;
        }
    else
    {
        return false;
    }
}
var country_arr=新数组(“澳大利亚”、“新西兰”);
//州
var s_a=新数组();
s_a[0]=“”;
s|a[1]=“澳大利亚首都地区|新南威尔士州|北领地|昆士兰|南澳大利亚州|塔斯马尼亚州|维多利亚州|西澳大利亚州”;
s_a[2]="阿卡罗亚|阿穆里|阿什伯顿|群岛湾|布鲁斯|布勒|查塔姆群岛|切维奥特|克利夫顿|克吕莎|库克|丹内维尔|埃克蒙特|埃克塔胡纳|埃尔斯米尔|埃尔塔姆|埃尔|格雷·费瑟斯顿|富兰克林|金湾|大堡岛|哈瓦基平原|霍克斯|海湾|希斯科特|希库兰吉|霍布森|霍基安加|霍洛维努亚|胡鲁尼|赫特|伊纳加华|英格伍德|凯库兰吉|基维特亚|湖|麦肯齐|马尔文|马纳瓦图|芒戈努伊|马尼托托|马尔伯勒|马斯塔塔|赫伯特| Ohinemuri | Opotiki | Oroua | Otamatea | Otorohanga | Oxford | Pahiatua | Paprua | Patea | Piako | Pohangina | Raglan | Rangiora | Rangitike | Runanga | Runanga | Saint Kilda | Silverpeaks | Southland1.4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4瓦托塔拉|华莱士|旺加努伊|韦弗利|韦斯特兰|沃卡塔内|沃加莱|沃加罗阿|伍德维尔|;
函数populateStates(countryElementId、stateElementId){
var selectedCountryIndex=document.getElementById(countryElementId
).选择的索引;
var stateElement=document.getElementById(stateElementId);
stateElement.length=0;//由Julian Woods修复
statelement.options[0]=新选项('Select State','');
stateElement.selectedIndex=0;
var state_arr=s_a[selectedCountryIndex]。拆分(“|”);

对于(var i=0;i我相信您的内联JS是在单独文件中的Javascript之前执行的。您如何引用外部Javascript

另外,您应该避免使用内联JavaScript,而是使用事件列表项。下面是您的精确代码,内联JavaScript被提取到外部文件中

var country_arr=新数组(“澳大利亚”、“新西兰”);
//州
var s_a=新数组();
s_a[0]=“”;
s|a[1]=“澳大利亚首都地区|新南威尔士州|北领地|昆士兰|南澳大利亚州|塔斯马尼亚州|维多利亚州|西澳大利亚州”;
s_a[2]=”(244)布鲁斯(Bu利)布拉尔(Bu勒尔)和比勒勒尔(244)拉勒尔(244)卡卡卡卡卡瓦瓦尼(244)卡卡瓦瓦尼(244)阿卡瓦尼(244)阿穆利(阿穆利)、阿穆利(244)卡卡卡瓦尼(244)卡卡卡瓦尼(244)卡卡瓦尼(卡卡瓦尼)卡瓦尼(卡瓦尼)卡卡卡瓦尼(卡瓦尼)卡卡卡瓦尼)卡瓦尼(卡瓦尼)卡瓦尼(卡瓦尼)卡瓦尼(卡尼)卡尼(卡瓦尼)、卡利利利利利(卡利)卡利利)卡瓦尼(卡卡利)卡利利利利利利利利利利利(卡卡利)卡卡利)卡卡利(卡利)卡卡利利(卡利)卡利)卡卡利利利利利(卡利)卡卡利(卡卡利)卡利利|霍罗韦努阿|胡鲁努伊|赫特|伊纳加瓦|英格尔伍德|凯库拉|凯兰加|基维蒂亚|湖| M(1244)马尔维权(Ma1244)对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者们对他们的研究者对他们的研究者对他们的研究者对他们的研究者对他们的研究者对他们的研究者对他们的研究者们对他们的研究者对他们的研究者们对他们的研究者们对他们的手手手手手手推车、马尔巴巴巴巴巴巴巴巴罗、马尔伯罗、马尔巴罗、马尔巴巴罗、马尔巴罗、马尔巴巴罗、对对他们他们他们对对他们的对对他们的研究者对对他们的研究者者对他们的研究者对对他们的研究者者对他们的研究者者对他们的研究者者对他们他们他们的研究者银峰|南国|斯图尔特岛|斯特拉特福德|斯特拉塔兰|塔拉纳基|陶马鲁尼|陶波|陶朗加|泰晤士河-(1244)该国的科摩罗人(1244)对该国的研究者们对该国的研究者们对该国的研究者们对该国的研究者们对该国的研究者们对该国的研究者们进行了对该国的研究者们对该国的研究者们对该国的研究者们对该国的研究者们对该国的研究者进行了研究,对该国的研究者者们的研究者者们对对该国的研究者进行了“wa卡卡卡塔诺,对对,对该国的研究者者者对对该方的研究者者者,对对该方的研究者进行了“Wa卡卡卡卡诺,对对对对对该该方的研究者者者者,对对该方方的研究者,对对对对该该方进行了,”,”,”,”,”,”,”,”,”对对对对对对该方方的研究者进行了Wa卡卡卡瓦瓦瓦瓦瓦瓦瓦瓦瓦瓦瓦瓦瓦瓦瓦瓦|旺加罗亚|伍德维尔|;
函数populateStates(countryElementId、stateElementId){
var selectedCountryIndex=document.getElementById(countryElementId);
var stateElement=document.getElementById(stateElementId);
stateElement.length=0;//由Julian Woods修复
statelement.options[0]=新选项('Select State','');
stateElement.selectedIndex=0;
var state_arr=s_a[selectedCountryIndex]。拆分(“|”);
对于(变量i=0;i