城市和州的ASP.NET Javascript邮政编码查找,带有Mootools、jQuery或Ajax

城市和州的ASP.NET Javascript邮政编码查找,带有Mootools、jQuery或Ajax,javascript,jquery,asp.net,ajax,mootools,Javascript,Jquery,Asp.net,Ajax,Mootools,我正在尝试编写一个Javascript邮政编码查找实用程序 1) 用户将从下拉列表中选择一个状态 2) 然后,将根据选定的州填充“淹没”城市 3) 然后,根据ASP.NET页面上选定的州和邮政编码,用相应的邮政编码填充下面的文本框 问题:我发现错误请求()未定义,这会导致应用程序在选择状态时停止 我应该在下面的代码中使用什么 <script language="javascript"> var request = new Request(); var url = ""

我正在尝试编写一个Javascript邮政编码查找实用程序

1) 用户将从下拉列表中选择一个状态

2) 然后,将根据选定的州填充“淹没”城市

3) 然后,根据ASP.NET页面上选定的州和邮政编码,用相应的邮政编码填充下面的文本框

问题:我发现错误请求()未定义,这会导致应用程序在选择状态时停止

我应该在下面的代码中使用什么

  <script language="javascript">
   var request = new Request();
   var url = "";

   function getZipCode()
   {    
request.GetNoCache(url + "getZipCode.aspx?City=" +document.getElementById("drpCity").options[document.getElementById("drpCity").selectedIndex].value+ "&State=" +document.getElementById("drpStateSearch").options[document.getElementById("drpStateSearch").selectedIndex].value,      
function(result)
{
    if (result.readyState!=ReadyState.Complete)
        return;             
    if (result.status==HttpStatus.OK && result.responseText != "")
    {
        var zip = result.responseText;
        document.getElementById("txtZip").value = zip;
    }
    else
    {
        document.getElementById("txtZip").value = "No Zip Found";
    }
}
)
  }



   function selectCity()
   {    
request.GetNoCache(url + "getCities.aspx?State=" +document.getElementById("drpStateSearch").options[document.getElementById("drpStateSearch").selectedIndex].value,         

function(result)
{

    if (result.readyState!=ReadyState.Complete)
        return;             
    if (result.status==HttpStatus.OK && result.responseText != "")
    {
        var cities = result.responseText;
        var city_array=cities.split(",");
        var len = document.getElementById("drpCity").options.length;

        for( var j=len; j>=0;j--)
        {
            document.getElementById("drpCity").options[j]=null;
        }

        var option_i = new Option("--Select--","--Select--");
        document.getElementById("drpCity").options[0] = option_i;

        for(var i=1; i<=city_array.length-1;i++)
        {
            var option_c = new Option(city_array[i-1],city_array[i-1]);
            document.getElementById("drpCity").options[i] = option_c;
        }
    }
    else
    {
        var option_c = new Option("No City","");
        document.getElementById("drpCity").options[0] = option_c;
    }
}
)
   }

            </script>
   <script language="javascript" type="text/javascript">
   <!--
function __doPostBack(eventTarget, eventArgument) {
    var theform;
    if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
        theform = document.Form2;
    }
    else {
        theform = document.forms["Form2"];
    }
    theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
    theform.__EVENTARGUMENT.value = eventArgument;
    theform.submit();
}
   // -->
   </script>

            City: <select id="drpStateSearch" name="drpStateSearch" 
                onchange="Javascript:selectCity();" style="width: 120px;">
                <option value="">---Select---</option>
                <option value="AK">Alaska</option>
                <option value="AL">Alabama</option>
                <option value="AR">Arkansas</option>
                <option value="AZ">Arizona</option>
                <option value="CA">California</option>
                <option value="CO">Colorado</option>
                <option value="CT">Connecticut</option>
                <option value="DC">District of Columbia</option>
                <option value="DE">Delaware</option>
                <option value="FL">Florida</option>
                <option value="GA">Georgia</option>
                <option value="HI">Hawaii</option>
                <option value="IA">Iowa</option>
                <option value="ID">Idaho</option>
                <option value="IL">Illinois</option>
                <option value="IN">Indiana</option>
                <option value="KS">Kansas</option>
                <option value="KY">Kentucky</option>
                <option value="LA">Louisiana</option>
                <option value="MA">Massachusetts</option>
                <option value="MD">Maryland</option>
                <option value="ME">Maine</option>
                <option value="MI">Michigan</option>
                <option value="MN">Minnesota</option>
                <option value="MO">Missouri</option>
                <option value="MS">Mississippi</option>
                <option value="MT">Montana</option>
                <option value="NC">North Carolina</option>
                <option value="ND">North Dakota</option>
                <option value="NE">Nebraska</option>
                <option value="NH">New Hampshire</option>
                <option value="NJ">New Jersey</option>
                <option value="NM">New Mexico</option>
                <option value="NV">Nevada</option>
                <option value="NY">New York</option>
                <option value="OH">Ohio</option>
                <option value="OK">Oklahoma</option>
                <option value="OR">Oregon</option>
                <option value="PA">Pennsylvania</option>
                <option value="RI">Rhode Island</option>
                <option value="SC">South Carolina</option>
                <option value="SD">South Dakota</option>
                <option value="TN">Tennessee</option>
                <option value="TX">Texas</option>
                <option value="UT">Utah</option>
                <option value="VA">Virginia</option>
                <option value="VT">Vermont</option>
                <option value="WA">Washington</option>
                <option value="WI">Wisconsin</option>
                <option value="WV">West Virginia</option>
                <option value="WY">Wyoming</option>
            </select> <br />
            State: <select id="drpCity" name="drpCity" onchange="javascript:getZipCode()">
                <option selected="">Select State to Populate</option>
            </select>
            <br />
            <table id="Table6" border="0" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                    <td height="28" width="38%">
                        Zipcode:</td>
                    <td height="28" width="62%">
                        <input id="txtZip" name="txtZip" type="text" /></td>

var request=新请求();
var url=“”;
函数getZipCode()
{    
request.GetNoCache(url+“getZipCode.aspx?City=“+document.getElementById(“drpCity”)。选项[document.getElementById(“drpCity”)。selectedIndex]。value+“&State=“+document.getElementById(“drpStateSearch”)。选项[document.getElementById(“drpStateSearch”)。selectedIndex]。值,
功能(结果)
{
if(result.readyState!=readyState.Complete)
返回;
if(result.status==HttpStatus.OK&&result.responseText!=“”)
{
var zip=result.responseText;
document.getElementById(“txtZip”).value=zip;
}
其他的
{
document.getElementById(“txtZip”).value=“未找到Zip”;
}
}
)
}
函数selectCity()
{    
request.GetNoCache(url+“getCities.aspx?State=“+document.getElementById(“drpStateSearch”)。选项[document.getElementById(“drpStateSearch”)。selectedIndex]。值,
功能(结果)
{
if(result.readyState!=readyState.Complete)
返回;
if(result.status==HttpStatus.OK&&result.responseText!=“”)
{
var cities=result.responseText;
var city_数组=cities.split(“,”);
var len=document.getElementById(“drpCity”).options.length;
对于(var j=len;j>=0;j--)
{
document.getElementById(“drpCity”).options[j]=null;
}
var option_i=新选项(“--Select--”和“--Select--”);
document.getElementById(“drpCity”).options[0]=option_i;
对于(var i=1;i
城市:
---挑选---
阿拉斯加州
阿拉巴马州
阿肯色州
亚利桑那州
加利福尼亚
科罗拉多州
康涅狄格州
哥伦比亚特区
特拉华州
佛罗里达州
佐治亚州
夏威夷
爱荷华州
爱达荷州
伊利诺伊州
印第安纳州
堪萨斯州
肯塔基州
路易斯安那州
马萨诸塞州
马里兰
缅因州
密歇根
明尼苏达州
密苏里州
密西西比
蒙大拿
北卡罗来纳州
北达科他州
内布拉斯加州
新罕布什尔州
新泽西州
新墨西哥州
内华达州
纽约
俄亥俄州
奥克拉荷马
俄勒冈
宾夕法尼亚
罗德岛
南卡罗来纳州
南达科他州
田纳西州
得克萨斯州
犹他州
弗吉尼亚州
佛蒙特州
华盛顿
威斯康星州
西弗吉尼亚州
怀俄明州

声明: 选择要填充的状态
Zipcode:

谢谢!

您正在使用MooTools吗?如果是这样,您需要确保在尝试创建新的请求对象之前引入了MooTools库。如果不是,则请求不是为ajax请求创建的合适对象

if(window.XMLHttpRequest){
   request = new XMLHttpRequest();
}else if(window.ActiveXObject)
{
   request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open("GET", url, true);
request.onreadystatechange = callback;
request.send(null);
function callback()
{
   if(request.readyState == 4)
   {
       if(request.status == 200)
       {
             /* do your call back stuff here */
       }
    }
 }
注意这是一个非常基本的问题,有点痛苦,我建议使用jQuery或Mootools之类的框架库对服务器代码进行ajax调用

/*********更新*********************/ 以下是基本Jquery ajax请求的代码:

$.ajax({ url: "test.html", 
         context: document.body, 
         data:{"info":"I'm sending this back to the server"}, 
         success: function(data){ 
              /* do your callback stuff here */ 
         },
         error(jqXHR, textStatus, errorThrown){
              /* let's you know where you went wrong */
         }
});

api定义是

您是否在使用MooTools?如果是,您需要确保在尝试创建新的请求对象之前引入MooTools库。如果不是,则请求不是为ajax请求创建的正确对象

if(window.XMLHttpRequest){
   request = new XMLHttpRequest();
}else if(window.ActiveXObject)
{
   request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open("GET", url, true);
request.onreadystatechange = callback;
request.send(null);
function callback()
{
   if(request.readyState == 4)
   {
       if(request.status == 200)
       {
             /* do your call back stuff here */
       }
    }
 }
注意这是一个非常基本的问题,有点痛苦,我建议使用jQuery或Mootools之类的框架库对服务器代码进行ajax调用

/*********更新*********************/ 以下是基本Jquery ajax请求的代码:

$.ajax({ url: "test.html", 
         context: document.body, 
         data:{"info":"I'm sending this back to the server"}, 
         success: function(data){ 
              /* do your callback stuff here */ 
         },
         error(jqXHR, textStatus, errorThrown){
              /* let's you know where you went wrong */
         }
});

api def是

此代码在什么方面没有按您期望的方式工作?@striplingWarrior,谢谢您的回答。问题/错误已添加到问题中。请立即检查。问题:我收到错误请求()未定义导致应用程序在选择状态时拖运的。此代码以何种方式未按预期方式运行?@striplingWarrior,感谢您的回答。问题/错误已添加到问题中。请立即检查。问题:我收到错误请求()未定义在选择状态时导致应用程序拖运的。感谢您的回复!您可以提供使用jQuery执行此操作的代码吗?Mootools可以在此处下载:$.ajax({url:“test.html”,context:document.body,success:function(data){/*在此处执行回调操作*/});谢谢你的回答!你能编辑你的答案来添加代码来帮助其他人吗?该代码如何根据从statedropdownllist中选择的状态,从state_zip数据库表填充一个装满zip代码的列表框,zipcodelistbox?成功处理程序从服务器接收返回的数据(json结构可能是简单的