1

ページがカレンダー オブジェクトをロードすると、フォームに表示されます。しかし、onchange イベントから ajax 関数を呼び出して都市を選択すると、ajax 呼び出し後にカレンダーがページに表示されません。次のように指定された ajax コード:

<script language="JavaScript">
function redirect()
{
    window.location='adm_regemployeelist.php';
}
function selectcity()
{

    var empid=document.getElementById("empid").value;   
    var empname=document.getElementById("empname").value;   
    var addr=document.getElementById("addr").value; 
    var addr1=document.getElementById("addr1").value;   
    var city=document.getElementById("city").value; 

    if(addr==''||empid==''||empname=='')
    {
        alert("Please Fill Out Empty Fields\n\n");
        return false;
    }

        if (window.XMLHttpRequest)
          {// code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
          }
        else
          {// code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }

        xmlhttp.onreadystatechange=function()
          {
          if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                document.getElementById("container").innerHTML=xmlhttp.responseText;
            }
          }
        xmlhttp.open("GET","emp_registration.php?empid="+empid+"&empname="+empname+"&addr="+addr+"&addr1="+addr1+"&city="+city,true);
        xmlhttp.send();
}
</script>
4

1 に答える 1

0

container に配置された ajax 呼び出しによって、html 要素を ID 'birthdate' に置き換えていると思います。そのため、カレンダーは更新された「生年月日」に関連付けられなくなりました。ajax 応答を取得し、「コンテナー」を置き換えたら、もう一度開始します。

$( "#birthdate" ).datepicker({ changeMonth: true,
                      changeYear: true, 
                      dateFormat: 'dd/mm/yy', defaultDate: '-20y -1m -247d', minDate:'19/03/1960', maxDate:tdate, };
于 2012-07-27T10:40:11.577 に答える