2011-04-11 107 views
0

我創建了一個django應用程序。在我的應用程序中,我有一個註冊日期字段。爲此我使用jQuery datepicker。它之前工作正常,但今天當我開始我的應用程序由於某種未知原因而無法工作。我無法理解爲什麼它不能在我的代碼中工作,但是當我在一個新的html中單獨給出該腳本時工作正常。它現在顯示的錯誤是datepicker不是一個函數。可以有人看着這個。我將在這裏粘貼我的html代碼。datepicker未定義 - jQuery

HTML

<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head> 
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script> 

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 

<script> 
    $(function() { 
     $("#datepicker").datepicker({ 
      changeMonth: true, 
      changeYear: true 
     }); 
    }); 
</script> 

</head> 
<title>Login/Registration Page</title> 
<script type="text/javascript"> 

    //Created/Generates the captcha function  
    function DrawCaptcha() 
    { 
     var a = Math.ceil(Math.random() * 10)+ ''; 
     var b = Math.ceil(Math.random() * 10)+ '';  
     var c = Math.ceil(Math.random() * 10)+ ''; 
     var d = Math.ceil(Math.random() * 10)+ ''; 
     var e = Math.ceil(Math.random() * 10)+ ''; 
     var f = Math.ceil(Math.random() * 10)+ ''; 
     var g = Math.ceil(Math.random() * 10)+ ''; 
     var code = a + ' ' + b + ' ' + ' ' + c + ' ' + d + ' ' + e + ' '+ f + ' ' + g; 
     document.getElementById("txtCaptcha").value = code 
    } 

    // Validate the Entered input aganist the generated security code function 
    function ValidCaptcha(){ 
     var str1 = removeSpaces(document.getElementById('txtCaptcha').value); 
     var str2 = removeSpaces(document.getElementById('txtInput').value); 
     if (str1 == str2) return true;   
     return false; 

    } 

    // Remove the spaces from the entered and generated code 
    function removeSpaces(string) 
    { 
     return string.split(' ').join(''); 
    } 

    </script> 
<body bgcolor="#736F6E" onLoad="DrawCaptcha();"> 
<div align="center"> 
<form name="userInputForm" method="POST" id="myFormid" action="http://10.1.0.90:8080/login/"> 
    <div style="float:left;width:100%;"> 
    <p style="float:left;margin-right:10px;width:auto;"> 
     <label style="float:left;">Email id</label> 
     <br/> 
     <input type="text" name="username" size="25" /> 
    </p> 
    <p style="float:left;margin-right:10px;width:auto;"> 
     <label style="float:left;">Password</label> 
     <br/> 
     <input type="password" name="password" size="25" /> 
     {% if invalid %} 
     Mismatch in your email/password. 
     {% endif %} </p> 
    </div> 

    <p style="clear:both;float:left;"> 
    <input type="submit" value="Log in" style="float:left;margin-right:4px;"/>&nbsp; 


{% load facebookconnect %} 
{% facebook_connect_login_button %} 
{% facebook_connect_script %} 


    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a HREF="http://10.1.0.90:8080/forgotPassword/">Forgotten your password?</a></p> 
    </div> 
</form> 
<br> 
<script type="text/javascript"> 
function userCheck(){ 
    /*document.getElementById('myFormid').action = "http://10.1.0.90:8080/login/"; 
    if ((document.userInputForm.username.value.length==0)) */ 
} 
</script> 
<form name ="myform" method="POST" id='FormID'> 
<table> 
    <tr> 
    <td>First name</td> 
    <td><input type="text" name="firstName" value="" maxlength="100" /> 
     <b id="firstNameID" style="font-family:Times New Roman;color:#B4045F;font-size:14px;"> </td> 
    </tr> 
    <tr> 
    <td>Last name</td> 
    <td><input type="text" name="lastName" value="" maxlength="100" /> 
    </td> 
    </tr> 
    <tr> 
    <td>E-mail</td> 
    <td><input type="text" name="email" value="" maxlength="100" /> 
    </td> 
    </tr> 
    <tr> 
    <td>Password</td> 
    <td><input type="password" name="password" value="" maxlength="100" /> 
     <b id="passwordID" style="font-family:Times New Roman;color:#B4045F;font-size:14px;"> </td> 
    </tr> 
    <tr> 
    <td>Re-Type Password</td> 
    <td><input type="password" name="password1" value="" maxlength="100" /> 
     <b id="passwordID1" style="font-family:Times New Roman;color:#B4045F;font-size:14px;"> </td> 
    </tr> 
    <tr> 
    <td>Gender:</td> 
    <td><input type="radio" name="sex" value="male" /> 
     Male 
     <input type="radio" name="sex" value="female" /> 
     Female </td> 
    </tr> 
    <tr> 
    <td>Birthday</td> 
    <td><input type="text" name="birthday" id="datepicker" value="" maxlength="100" /> 
    </td> 
    </tr> 
    <tr> 

    <td width="150">Captcha</td> 
    <td><input type="text" id="txtCaptcha" 
      style="background-image:url(1.jpg); text-align:center; border:1px; 
      font-weight:bold; font-family:Modern" /> 
     <input type="button" id="btnrefresh" value="Refresh" onClick="DrawCaptcha();" /> 
    </td> 
    </tr> 
    <tr> 
     <td>Enter above text</td> 
     <td style="float:left;"><input type="text" id="txtInput" value="" maxlength="100" /> 
     <b id="textcaptcha" style="font-family:Times New Roman;color:#B4045F;font-size:14px;"> </td> 
    </tr> 
</table> 
</form> 
<div style="width:200; float:left; margin:20px 0 0 155px;"> 
    <input type="button" value="Sign Up" onClick="isEmpty();"/> 
</div> 
<script type="text/javascript"> 
function isEmpty(){ 
    if ((document.myform.firstName.value.length==0)) 
     { 
     document.getElementById('firstNameID').innerHTML = 'Please fill this field'; 
     return true; 
     } 
    else if ((document.myform.password.value.length==0)) 
     { 
     document.getElementById('passwordID').innerHTML = 'Please fill this field'; 
     return true; 
     } 
    else if (document.myform.password.value != document.myform.password1.value) 
     { 
     document.getElementById('passwordID1').innerHTML = 'Password mismatch'; 
     return true; 
     } 
    else if (! ValidCaptcha()) 
     { 
      document.getElementById('textcaptcha').innerHTML = 'Please fill the captcha correctly'; 
     } 

    else 
     { 
     document.getElementById('FormID').action = "http://10.1.0.90:8080/registrationForm/"; 
     document.getElementById('FormID').submit(); 
     return false; 
     } 
} 
</script><br><br> 

</body> 
</html> 
+0

您是否更改了創建datepicker的調用匿名函數,因此它不是'$(document).ready()'?這種情況對我來說很重要,沒有進一步的審查。 – 2011-04-11 03:53:30

+0

我沒有讓你...可以請你粘貼我的代碼。我是編程中的新手 – 2011-04-11 03:58:01

+0

顯然,使用ready()方法註冊的onload處理程序不會執行。很少從您的代碼中讀取,而沒有進一步的細節。首先採用您最喜歡的JS調試工具,如Firebug,並自己檢查JS錯誤 - 然後回報。不要指望我們可以遠程讀取你的錯誤信息。慢慢來,提供合理和準確的錯誤信息。 – 2011-04-11 04:00:42

回答

0

我弄明白了..這是我身邊的一個小無知。 jqury.js文件在另一個從{% facebook_connect_script %}擴展的頁面中引用。非常感謝你們的幫助。

2

我不知道這是否與您的問題或沒有,但你必須在代碼中的一些無效的HTML代碼段您發佈。我會首先確保您的所有代碼均衡,您有第二個不會關閉的表單代碼。此外,表格中還有幾個未關閉的粗體標記。

+0

我已經關閉了窗體標籤,它再次拋出相同的錯誤 – 2011-04-11 04:57:04

+0

當我打開Chrome,Firefox和IE瀏覽器內的發佈代碼時,我沒有看到你遇到的錯誤和jQuery datepicker似乎正在爲我運作。這個問題可能來自其他東西,而不是在粘貼代碼。 – Clayton 2011-04-11 05:11:16

+0

no ..我粘貼我的相同的工作代碼..爲什麼拋出這樣的錯誤只爲我?( – 2011-04-11 05:55:16